# jest

jestjs.io

Jest is a delightful JavaScript Testing Framework with a focus on simplicity.

It works with projects using: Babel, TypeScript, Node, React, Angular, Vue and more!

facebook/jest - github.com

# features and objectives

  • Zero config Jest aims to work out of the box, config free, on most JavaScript projects.

  • Snapshots Make tests which keep track of large objects with ease. Snapshots live either alongside your tests, or embedded inline.

  • Isolated Tests are parallelized by running them in their own processes to maximize performance.

  • Great api From it to expect - Jest has the entire toolkit in one place. Well documented, well maintained, well good.

  • 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 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 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 Tests fail—when they do, Jest provides rich context why.

  • 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.

# architecture

Jest Architecture - Christoph Nakazawa, Rick Hanlon II and Rubén Norte