Skip to content
SPECIFICTION
Get listed

Testem

github.com

Free plan WindowsmacOSLinux
Visit github.com
Spec score 7.7 #10 of 23 in JavaScript Testing Frameworks

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

Testem Free Open-source JavaScript test runner · MIT license Read 7 Oct 2026 · github.com

Every Testem plan and price →

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

Alternatives to TestemAll alternatives →