Testem
github.com
What it is
Testem is a JavaScript test runner for running tests in Node.js, real desktop browsers, or a launcher you configure. It supports Jasmine, QUnit, Mocha, and custom framework adapters, and can be used for unit, integration, end-to-end-style, or custom test setups. Browser runs can use Chrome, Firefox, Safari, or Edge, including a Headless Chrome launcher. In development mode, a terminal interface watches project files and reruns tests after relevant changes; CI mode can run tests in available browsers in parallel. Testem includes CI reporters for TAP, dot, xunit, and TeamCity, with custom reporters available. Listed preprocessing support includes Babel, TypeScript, Browserify, ESLint, JSHint, JSLint, and CoffeeScript. Its API provides startDev, startCI, and startServer modes, and coverage reporting is supported. It works with GitHub Actions, Jenkins, and TeamCity. Testem is free and open source under the MIT license, and runs on Linux, macOS, and Windows. It requires a supported Node.js runtime: ^22.17.0, ^24.0.0, or >=26.0.0.
Spec sheet
- Purpose
- Testem runs JavaScript tests in real desktop browsers, Node, Chrome, or a configured launcher.Read 7 Oct 2026 · github.com
- Platforms
- The README lists macOS, Windows, and Linux cross-platform support.Read 7 Oct 2026 · github.com
- Integrations
- The README describes use with GitHub Actions, Jenkins, and TeamCity.Read 7 Oct 2026 · github.com
- Security
- The repository page shows no security advisories.Read 7 Oct 2026 · github.com
- License
- The repository identifies the project as MIT licensed.Read 7 Oct 2026 · github.com
- Browser testing
- It can launch real browsers, including Chrome, Firefox, Safari, and Edge, and provides a Headless Chrome launcher.Read 4 Oct 2026 · github.com
- CI integrations
- The README describes use with GitHub Actions and other CI systems, including Jenkins and TeamCity.Read 4 Oct 2026 · github.com
- CI workflow
- CI mode runs tests in available browsers and can run multiple browsers in parallel.Read 7 Oct 2026 · github.com
- Development workflow
- Development mode provides a terminal interface and watches project files to rerun tests after relevant changes.Read 7 Oct 2026 · github.com
- Frameworks
- It includes support for Jasmine, QUnit, and Mocha, with custom adapters for other frameworks.Read 7 Oct 2026 · github.com
- Installation requirement
- Testem requires a supported Node.js runtime; the README lists ^22.17.0, ^24.0.0, or >=26.0.0.Read 7 Oct 2026 · github.com
- Preprocessors
- The README lists Babel, TypeScript, Browserify, ESLint, JSHint, JSLint, and CoffeeScript support.Read 7 Oct 2026 · github.com
- Programmatic API
- Testem exposes an API class with startDev, startCI, and startServer modes.Read 4 Oct 2026 · github.com
- Reporters
- Built-in CI reporters include TAP, dot, xUnit, and TeamCity, and users can add a custom reporter.Read 7 Oct 2026 · github.com
- Test styles
- It supports unit, integration, end-to-end style, and custom test setups.Read 7 Oct 2026 · github.com
- Workflows
- It supports test-driven development and continuous integration workflows.Read 4 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Runs tests in Node.js and real desktop browsers
- Supports Jasmine, QUnit, Mocha, and custom adapters
- CI mode can run browsers in parallel
- Includes coverage reporting and CI reporters
- Free, open source, and MIT licensed
Limits
- Requires Node.js ^22.17.0, ^24.0.0, or >=26.0.0
- ZIP?
Who it suits
Testem suits JavaScript developers who want browser- or Node-based test runs in development and CI. Its framework adapters, reporters, and preprocessors also suit projects with varied testing setups.
Verdict
Testem covers development and CI testing across Node.js and desktop browsers, with framework adapters, reporters, and preprocessing options. Its runtime requirement is specific, so check that your Node.js version is supported.
Where Specifiction places it
- JavaScript Testing Frameworks#10 of 237.7