@acce/tester
v1.1.3
Published
simple test runner with support for async stuff
Downloads
30
Readme
@acce/tester
This is a crazy simple test framework for node applications.
Usage
To use, import the 'file' method into your test.
import { file } from '@acce/tester';
// or
const { file } = require('@acce/tester');
API
file: <function>
properties
(name, method)- name: <string> the name of the unit you are testing.
- method: <Function> a scope for your file.
The method property should be an function that takes one argument,
unit
unit: <function>
properties
(name, method)- name: <string> the name of the unit you are testing.
- method: <Function> a scope for your unit.
The method property should be an function that takes one argument,
test
test: <function>
properties
(name, method)- name: <string> the name of the test you are running
- method: <Function> a scope for your test. The method does not require any arguments.
If you need a simple assertion library, I recommend using node.js assert package
Example test
Create a file called
<unit>.test.js
somewhere in your project. Where <unit> is the name of the unit you are testingAdd an npm script command to your
package.json
that will execute your new test. ESModules require the 'experimental modules' flag, and apackage.json
type property{ ... "type": "module", ... "scripts": { ... "test:unit": "node --experimental-modules path/to/unit.test.js", ... }, ... }
You can now execute your test with
npm run test
.Example Unit Test
import { file } from '@acce/tester'; file('Maths functionality', async (unit) => { unit('Test that math still works', async (test) => { test('1 + 1 does not equal 3', async () => { if (1 + 1 == 3) throw 'looks like maths is falling appart'; }); test('1 + 1 does not equal 11', async () => { if (1 + 1 == '11') throw 'looks like maths is working with strings now'; }); test('1 + 1 is actually 2', async () => { if (1 + 1 !== 2) throw 'well dang. Computer machine dun\' broke'; }) }) })
Example Output