browser-unit-test
v0.0.7
Published
> A minimal test runner that runs tests directly in the browser
Downloads
9
Readme
A minimal test runner that runs tests directly in the browser
Features
- Modern platform features like esm & async / await
- Test with the real DOM & Browser APIs
- First class Typescript support & live reload: The test runner uses vite!
- Easy and concise way to write tests
export const aTest = () => assert(value !== 0);
Motivation behind this test runner
Getting started
- Install
npm i -D vite browser-unit-test
- Create scaffolding
npx browser-unit-test init
# or: pnpm exec browser-unit-test init
- Run tests
npx vite test
# or: pnpm exec vite test
Pro tip: Use browser debugging to see your test results directly in your IDE: e.g. VSCode browser debugging
Basics
Tests
Tests are just functions that are exported:
export const aTest = () => assert(value !== 0);
By default all the files that have a .test.js
or a .test.ts
ending in the /test
folder get executed by the runner.
Asserts
Are asserts like this assert(value !== 0)
really a good idea?
- For readability: yes
- For logging: normally no
You normally don't get the context of why the assertion failed when you use this pattern. But this library provides a small transform, which prints you the actual values for both sides of the comparison.
Test results
The test results will be displayed in the browser console, and are grouped by file and function.
Motivation
If you build code for targeting a web-browser. Why run unit tests in node.js? Because all the API are different and the logging and inspection is so great. Surely not :smile:. That is reason for this library, to define and run unit tests directly in the browser. (Note: there is currently no support for CI. It is only meant to run during development)