Baretest is an extremely simple JavaScript test runner. It has a tiny footprint, near-instant performance, and a brainless API. It makes testing tolerable.
This is a fork of the original project with the following enhancements:
- Remove the two trailing line breaks after each test suite (see PR 19)
- Introduce a line break after a failed test (see PR 19)
- Put just one empty line between the error message and the stack trace (see PR 19)
- Set the process exit code to 1 in case of a failure (see PR 17)
npm i -D @prantlf/baretest
With pnpm
pnpm i -D @prantlf/baretest
... Getting started
... API reference
... FAQ
We constantly hit CMD + B
on Sublime Text to test a function we are actively working on. We do this all the time, sometimes hundreds of times a day. With Jest, each of these runs would take seconds, but Baretest runs under 100ms.
Another reason for building Baretest was to have an extremely simple API. Typically we only use test()
and the Node's built-in assert.equals()
methods to run our tests. We've never needed automatic re-ordering, file watchers, "mocking" or "snapshotting".
const test = require('baretest')('My app'),
assert = require('assert'),
app = require('my-app')
test('add user', async function() {
const user = await app.addUser('test@cc.com')
assert.equals(user.name, 'Test')
})
test('reject duplicate emails', async function() {
await assert.rejects(async function() {
await app.addUser('duplicate@address.com')
})
})
// ...
!(async function() {
await test.run()
})()
We think a good test runner stays out of your way. We want to focus on the task at hand and not deal with the complexities of testing. We don't want to commit to a massive framework that dictates our work.
Copyright (c) 2021 Ferdinand Prantl Copyright 2020 OpenJS Foundation and contributors. Licensed under MIT.