Testem
What it is
Testem is an open-source JavaScript test runner for running tests in desktop browsers, Node.js, or a configured launcher. It supports Jasmine, QUnit, Mocha, and custom framework adapters, and is designed for test-driven development and continuous integration workflows. It can start real browsers including Chrome, Firefox, Safari, and Edge, and provides a Headless Chrome launcher. The development mode offers a terminal interface and watches project files to rerun tests after relevant changes. CI mode runs tests in available browsers and can run several browsers in parallel. Documented CI use includes GitHub Actions, Jenkins, and TeamCity. Built-in CI reporters produce TAP, dot, xunit, or TeamCity output, with custom reporters also supported. Listed preprocessors include Babel, TypeScript, Browserify, ESLint, JSHint, JSLint, and CoffeeScript. A programmatic API provides startDev, startCI, and startServer modes. Testem supports coverage reporting and is available for Linux, macOS, and Windows. It is free under the MIT license. Its README lists supported Node.js runtimes as ^22.17.0, ^24.0.0, or >=26.0.0.
For and against
For
- Supports Jasmine, QUnit, Mocha, and custom adapters.
- Can launch Chrome, Firefox, Safari, and Edge.
- Offers parallel browser execution and coverage reporting.
- Includes CI reporters and a programmatic API.
Against
- Requires a supported Node.js runtime.
- Listed Node.js versions are ^22.17.0, ^24.0.0, or >=26.0.0.
The verdict
Testem brings browser and Node.js test runs together with development and CI modes. Its listed Node.js runtime requirements are important to check before adopting it.
Who it suits
Testem suits JavaScript developers who want to run tests in desktop browsers or Node.js. Its development and CI modes support both iterative work and automated workflows.
Plans and prices
Testem
Open-source JavaScript test runner · MIT license
Read 7 Oct 2026 · github.com
On the record
- Browser testing
- It can launch real browsers, including Chrome, Firefox, Safari, and Edge, and provides a Headless Chrome launcher.github.com · read 4 Oct 2026
- CI integrations
- The README describes use with GitHub Actions and other CI systems, including Jenkins and TeamCity.github.com · read 4 Oct 2026
- CI workflow
- CI mode runs tests in available browsers and can run multiple browsers in parallel.github.com · read 7 Oct 2026
- Development workflow
- Development mode provides a terminal interface and watches project files to rerun tests after relevant changes.github.com · read 7 Oct 2026
- Frameworks
- It includes support for Jasmine, QUnit, and Mocha, with custom adapters for other frameworks.github.com · read 7 Oct 2026
- Installation requirement
- Testem requires a supported Node.js runtime; the README lists ^22.17.0, ^24.0.0, or >=26.0.0.github.com · read 7 Oct 2026
- Integrations
- The README describes use with GitHub Actions, Jenkins, and TeamCity.github.com · read 7 Oct 2026
- License
- The repository identifies the project as MIT licensed.github.com · read 7 Oct 2026
- Preprocessors
- The README lists Babel, TypeScript, Browserify, ESLint, JSHint, JSLint, and CoffeeScript support.github.com · read 7 Oct 2026
- Programmatic API
- Testem exposes an API class with startDev, startCI, and startServer modes.github.com · read 4 Oct 2026
- Purpose
- Testem runs JavaScript tests in real desktop browsers, Node, Chrome, or a configured launcher.github.com · read 7 Oct 2026
- Reporters
- Built-in CI reporters include TAP, dot, xUnit, and TeamCity, and users can add a custom reporter.github.com · read 7 Oct 2026
- Security
- The repository page shows no security advisories.github.com · read 7 Oct 2026
- Test styles
- It supports unit, integration, end-to-end style, and custom test setups.github.com · read 7 Oct 2026
- Workflows
- It supports test-driven development and continuous integration workflows.github.com · read 4 Oct 2026