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) })