metaltest/test.js

27 lines
768 B
JavaScript

import assert from 'node:assert/strict'
import { metaltest, consolereporter } from './index.js'
const test = metaltest('Metaltest')
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' })
})
export { test }
import { runifmain } from './lib/runifmain.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)
})