Jest
by OpenJS Foundation · Framework
JavaScript testing framework created at Meta with built-in assertions, mocking, snapshot testing and parallel test execution
Overview
Jest is a testing framework for JavaScript originally developed at Facebook (Meta) and transferred to the OpenJS Foundation in 2022. It bundles everything a test suite needs in one package: a test runner that parallelizes across worker processes, an assertion library, module mocking and timers, snapshot testing for serialized output, code coverage and a watch mode that reruns tests related to changed files.
For years Jest has been the default runner in React projects and many Node.js services, and its API shaped later tools, including Vitest and Bun's test runner. Transformation of TypeScript or JSX goes through its own transform pipeline (Babel, ts-jest or SWC), and the jsdom environment simulates a browser for component tests. The main friction today is ECMAScript modules: Jest's ESM support is still flagged experimental, and configuring transforms for modern ESM-only dependencies takes effort, which is a frequent reason teams move to Vitest. The project is released under the MIT license.
Capabilities
- Parallel test runner with worker processes
- Built-in assertions and module mocking
- Snapshot testing
- Code coverage reporting
- Watch mode scoped to changed files
- jsdom environment for DOM tests
Typical workflows
- Unit-test React components with jsdom and Testing Library
- Snapshot-test serializers or UI output
- Run a Node.js service's test suite in CI with coverage thresholds
Strengths
- Batteries-included, little configuration for CommonJS projects
- Very large installed base and documentation
- MIT license under foundation governance
Limitations
- ESM support remains experimental
- Transform configuration needed for TypeScript and modern dependencies
- Slower startup than Vite-based runners in some projects
Prerequisites
- Node.js and a package manager
Who it is for
- React and Node.js developers
- Teams maintaining existing Jest suites
Alternatives & comparison
Vitest offers a nearly identical API on top of Vite's transform pipeline, which removes most ESM and TypeScript configuration; Bun's test runner is also Jest-compatible but requires the Bun runtime. Jest remains the safest choice for projects already invested in its ecosystem of reporters and presets.
- Bun
All-in-one JavaScript and TypeScript runtime, package manager, bundler and test runner built on JavaScriptCore by Oven
Open sourceOpen source - Vitest
Vite-native unit test framework for JavaScript and TypeScript with a Jest-compatible API, watch mode, coverage and browser mode
Open sourceOpen source
Sources & verification
Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.
- Licensehttps://github.com/jestjs/jest/blob/main/LICENSEchecked Nov 1, 2026
Supports: license_spdx, source_model
- Official documentationchecked Nov 1, 2026
- Official sitechecked Nov 1, 2026
- Confidence
- High
- Reviewed
- Nov 1, 2026
- Links
- Verified · Nov 2, 2026
Spotted an error?
More in Testing & QA
Playwright
Microsoft · Testing & QA
Microsoft's browser automation and end-to-end testing framework driving Chromium, Firefox and WebKit from one API in TypeScript, Python, Java and .NET
Puppeteer
Google (Chrome DevTools team) · Data collection & crawling
Node.js library from the Chrome team for controlling Chrome and Firefox over the DevTools Protocol or WebDriver BiDi, used for scraping, screenshots, PDFs and testing
ESLint
OpenJS Foundation · Testing & QA
Pluggable static analysis tool for JavaScript and TypeScript that finds problems in code through configurable rules and can fix many automatically
Cypress
Cypress.io · Testing & QA
End-to-end and component testing framework that runs tests inside the browser with an interactive runner, paired with the commercial Cypress Cloud
Biome
Biome project · Testing & QA
Rust-based formatter and linter for JavaScript, TypeScript, JSX, JSON, CSS and GraphQL that replaces Prettier and ESLint with one binary
Semgrep
Semgrep, Inc. · Security tools
Static analysis engine that matches code patterns written in the target language's own syntax, with an LGPL community edition and a commercial AppSec platform