metaltest/lib/metaltest.test.js

26 lines
761 B
JavaScript

import assert from 'node:assert/strict'
import { metaltest } from '../index.js'
const test = metaltest('Metaltest')
export { test }
let count = 0
test.before(() => count++)
test('success', () => new Promise((s, f) => setTimeout(s, 500)))
test('not equal', () => assert.notEqual({ a: 1 }, { a: 2 }))
test('fail with the message', () => new Promise((s, f) => setTimeout(s, 500)))
test('throw', () => {
return assert.rejects(async () => {
throw new Error('message')
}, { name: 'Error', message: 'message' })
})
import { runifmain, consolereporter } from '../index.js'
await runifmain(import.meta, async () => {
const stats = await test.run(consolereporter())
assert.equal(count, 4)
assert.equal(stats.success, 4)
assert.equal(stats.fail, 0)
})