als-browser-test
als-browser-test is a simple and lightweight test runner designed for running tests directly in the browser. It provides basic tools for defining test cases, running them sequentially, and asserting test results. The test results are displayed directly in the browser's DOM, making it easy to visualize the test outcomes.
Installation
To install the als-browser-test library, you can use npm:
npm install als-browser-test
Usage
You can use als-browser-test by including it in your HTML file and writing your tests using the provided describe
, it
, and assert
functions.
Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Test Runner Example</title>
</head>
<body>
<script src="/node-modules/als-browser-test/index.js"></script>
<script>
describe('Basic Math Tests', function() {
it('should add numbers correctly', function() {
const result = 2 + 2;
assert.strictEqual(result, 4, 'Addition test failed');
});
it('should subtract numbers correctly', function() {
const result = 5 - 3;
assert.strictEqual(result, 2, 'Subtraction test failed');
});
});
runTests();
</script>
</body>
</html>
API
describe(title, fn)
- title: A string representing the title of the test suite.
- fn: A function containing one or more
it
test cases.
The describe
function groups related test cases under a common title.
it(title, fn)
- title: A string representing the title of the test case.
- fn: A function containing the test logic.
The it
function defines an individual test case.
assert(expression, [title])
- expression: A boolean expression that evaluates to
true
or false
. - title (optional): A string representing the failure message if the assertion fails.
The assert
function evaluates a given expression and logs the result. If the expression is true
, the test passes; otherwise, it fails with an optional message.
assert.strictEqual(item1, item2, [message])
- item1: The first item to compare.
- item2: The second item to compare.
- message (optional): A string representing the failure message if the assertion fails.
The assert.strictEqual
function checks if item1
and item2
are strictly equal (===
).
assert.deepStrictEqual(obj1, obj2, [message])
- obj1: The first object to compare.
- obj2: The second object to compare.
- message (optional): A string representing the failure message if the assertion fails.
The assert.deepStrictEqual
function checks if two objects are deeply equal, comparing their properties recursively.
it.skip()
The it.skip
function is a placeholder that allows you to skip a test case.
it.only(title, fn)
- title: A string representing the title of the test case.
- fn: A function containing the test logic.
The it.only
function allows you to run only a specific test case or group of test cases, ignoring others.
runTests()
The runTests
function runs all the test cases defined using describe
and it
. If it.only
was used, only those specific tests will run.
Output
Test results are displayed in the browser's DOM. Successful tests are marked in green, and failed tests are marked in red. The detailed error messages are displayed under the failed tests.
License
als-browser-test is licensed under the MIT License.