Poku vs uvu
Poku
poku.iouvu
github.comSide by side
| Figure | Poku | uvu |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| API | Yes | — |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.5 (#13) | 7.6 (#11) |
| Assertions | Poku includes an assertion API based on Node.js assert methods, with human-readable output. | The optional `uvu/assert` module works in Node.js and browser contexts, and the documentation says existing assertion libraries can be used instead. |
Plans
In their own words
Poku
Poku is a free, open-source JavaScript test runner for Node.js, Bun, and Deno. It runs ESM and CommonJS tests, with TypeScript usage documented, and isolates test files. An assertion API based on Node.js assert methods provides human-readable output. Helpers start services and scripts, manage processes and ports, and handle containers during tests. Official coverage plugins support c8, Monocart, Istanbul, and one-double-zero. React and Vue plugins add component testing with DOM environments and Testing Library helpers. The Multi Suite plugin runs separately configured suites sequentially and creates a consolidated report. Shared Resources can expose stateful resources such as database connections across files and processes. Custom plugins and reporters are supported. Poku documents running one suite across all three runtimes for compatibility checks. It is licensed under MIT.
uvu
uvu is a free, lightweight test runner for Node.js and browser projects. It supports individually executable test files, asynchronous tests that may return Promises, native ES modules and a familiar API. Tests can be grouped into named suites or registered through a simpler test interface, and snapshot testing is supported. Each file is self-contained and can also be run directly with Node.js. The optional CLI collects and executes suites, with options to stop after the first failure, ignore patterns, preload modules, set a working directory and colorize output. When a directory is specified, file matching takes a regular-expression pattern rather than relying on glob patterns. The optional assertion module works in browsers and can be swapped for another library, including Node.js’s native assert. Installation uses `npm install --save-dev uvu`. Package metadata specifies Node.js version `>=8`; the repository identifies the project as MIT licensed and credits Luke Edwards.