metaltest/README.md

79 lines
1.4 KiB
Markdown

# metaltest
Clone of baretest with reporting
## How to use
```js
import assert from "node:assert/strict";
import metaltest from "metaltest";
const test = metaltest("Simple test");
test("test 1", () => {
assert.equal(1, 1);
});
test("test 2", () => {
assert.equal(2, 2);
});
const stats = await test.run();
/* Will return
{
title: 'Metaltest',
success: 2,
fail: 0,
skip: 0,
total: 2,
testSuccess: [],
testFail: []
}
*/
```
### How to report to the console
```js
const stats = await test.run(consolereporter());
```
### How to run only specific test or how to skip some test
```js
import metaltest from "metaltest";
const test = metaltest("Simple test");
test.only("only this test will run", () => {
assert.equal(1, 1);
});
test("this test will not run", () => {});
test.skip("this test will be skipped, even if there is no only", () => {});
```
## How to create a suite of test
test.js
```js
import assert from "node:assert/strict";
import metaltest from "metaltest";
const test = metaltest("Simple test");
test("test 1", () => {
assert.equal(1, 1);
});
export { test };
```
suite.js
```js
const { test } = await import("test.js");
await test.run(consolereporter());
```
## Hot to easily run a suite of multiple test
suite.js
```js
import { suite } from "metaltest";
await suite(); // Will run all test that are in the current folder recursively
```