Node.js's built-in test runner. Zero dependencies, already installed.
Since Node 18, the runtime ships its own test runner with describe/it, mocking, coverage, watch mode and a TAP reporter, available as the node:test module and the node --test flag. For libraries and services that want no test dependencies at all, it is now a legitimate option.
Best for
Free and open source
Open sourceFree tier: Everything, self-hosted
What drives the bill: Free and open source. You pay in engineering time and CI minutes.
Check current pricing on OpenJS Foundation’s siteFigures are indicative and were last reviewed August 2026. Vendors change pricing often; confirm before you commit.
No reviews of node:test yet. If you have used it in anger, yours would be the first.
If node:test is not the right fit, these solve the same problem differently.
Unit & Component
Vite-native test runner with instant watch mode and a Jest-compatible API.
Unit & Component
Minimal, unopinionated Node.js test runner you assemble to taste.
Unit & Component
Concurrent Node.js test runner that isolates every file in its own process.