Poku vs Web Test Runner
Poku
poku.ioWeb Test Runner
modern-web.devSide by side
| Figure | Poku | Web Test Runner |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| API | Yes | — |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.5 (#13) | 8.2 (#4) |
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.
Web Test Runner
Web Test Runner is a test runner for web applications, installable as an npm development dependency. It runs tests in parallel and isolation, giving each test file its own browser environment. Headless testing is supported through launchers including Puppeteer, Playwright, Selenium, BrowserStack, and WebdriverIO. Playwright can use Chromium, Firefox, and WebKit; BrowserStack runs tests remotely, including against older browser versions. Debug mode opens a browser window with developer tools, and the runner reports browser logs, 404 responses, and errors. Its command line offers interactive watch mode that reruns tests when files change, plus code coverage with configurable thresholds and reports. Default coverage instrumentation uses Chromium. Other features include ES module mocking through import maps and Mocha integration, with guidance for a custom test framework. The project is MIT-licensed, powered by esbuild and Rollup plugins, and directs users to GitHub and Discord for help and discussion. It is free and open source.