QUnitX vs Web Test Runner
QUnitX
github.comWeb Test Runner
modern-web.devSide by side
| Figure | QUnitX | Web Test Runner |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | Yes |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · JavaScript Testing Frameworks | 7.2 (#17) | 8.2 (#4) |
| Integrations | The README documents installation through npm and Deno, and describes a JSR package published from CI with provenance. | The docs describe using the Playwright launcher with GitHub Actions via Microsoft's Playwright Action. |
| License | The repository identifies its license as MIT. | The project's GitHub page identifies the repository license as MIT. |
| Maker | The repository identifies izelnakri as its owner and describes QUnitX as a project by its maker; it provides no headquarters or founding date in the opened pages. | Modern Web describes its goal as providing developers with guides and tools for modern web development while working closely with the browser. |
| Purpose | QUnitX lets teams write one JavaScript or TypeScript test file and run it unchanged with Node.js, Deno, or in a browser. | Web Test Runner is a test runner for web applications. |
Plans
In their own words
QUnitX
QUnitX lets teams write JavaScript or TypeScript tests in one file and run them with Node.js, Deno, or in a browser. The project says it needs no configuration files, transform pipeline, injected globals, or runtime dependencies, and that TypeScript runs as-is. Its assertions cover deep and partial equality, error matching, ordered steps, assertion counts, and per-test timeouts. Tests can be organized in nested modules with before, beforeEach, afterEach, and after hooks. The browser interface filters tests, shares filtered views by URL, reruns individual tests, and displays assertion differences. The linked qunitx-cli runs tests in headless Chromium, Firefox, or WebKit and streams TAP output. It also supports esbuild plugins, GitHub-annotated output, JUnit XML, V8 coverage reports, and a JavaScript API. QUnitX is free and lists an MIT license. The core requires Node.js 22 or later or Deno 2 or later; the CLI requires Node.js 24 or later or Deno 2.7 or later. Its default standalone Chromium mode also needs system Chrome or CHROME_BIN. Browser coverage has a source-map limitation.
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.