Zero config
Zero config
Jest aims to work out of the box, config free, on most JavaScript projects.
Snapshots
Snapshots
Make tests which keep track of large objects with ease. Snapshots live either alongside your tests, or embedded inline.
Isolated
Isolated
Tests are parallelized by running them in their own processes to maximize performance.
Great api
Great api
From it
to expect
- Jest has the entire toolkit in one place. Well documented, well maintained, well good.
Fast and safe
Fast and safe
By ensuring your tests have unique global state, Jest can reliably run tests in parallel. To make things quick, Jest runs previously failed tests first and re-organizes runs based on how long test files take.
Code coverage
Code coverage
Generate code coverage by adding the flag --coverage
. No additional setup needed. Jest can collect code coverage information from entire projects, including untested files.
Easy Mocking
Easy Mocking
Jest uses a custom resolver for imports in your tests, making it simple to mock any object outside of your test’s scope. You can use mocked imports with the rich Mock Functions API to spy on function calls with readable test syntax.
Great Exceptions
Great Exceptions
Tests fail—when they do, Jest provides rich context why. Here are some examples:
Philosophy
Jest is a JavaScript testing framework designed to ensure correctness of any JavaScript codebase. It allows you to write tests with an approachable, familiar and feature-rich API that gives you results quickly.
Jest is well-documented, requires little configuration and can be extended to match your requirements.
Jest makes testing delightful.
- Jest Core Team
Docs and talks
The Jest core team and contributors regularly speak about Jest and Delightful JavaScript Testing. Check out our talk about Building High-Quality JavaScript Tools at jsconf.eu 2017 and our talk about Jest as a Platform at ReactiveConf 2017.
Open Collective
With so many users, the core team of Jest uses an Open Collective for non-Facebook contributors.