Jest · Delightful JavaScript Testing 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
Getting Started - Jest Jest can be used in projects that use webpack to manage assets, styles, and compilation webpack does offer some unique challenges over other tools Refer to the webpack guide to get started
Testing React Apps · Jest See React: Function and Class Components Reminders that with Class components, we expect Jest to be used to test props and not methods directly Now let's use React's test renderer and Jest's snapshot feature to interact with the component and capture the rendered output and create a snapshot file:
Globals - Jest In your test files, Jest puts each of these methods and objects into the global environment You don't have to require or import anything to use them However, if you prefer explicit imports, you can do import {describe, expect, test} from '@jest globals'
Configuring Jest · Jest Jest runs the code of your project as JavaScript, hence a transformer is needed if you use some syntax not supported by Node out of the box (such as JSX, TypeScript, Vue templates)
Testing Web Frameworks · Jest Jest is a universal testing platform, with the ability to adapt to any JavaScript library or framework In this section, we'd like to link to community posts and articles about integrating Jest into popular JS libraries
Jest CLI Options The jest command line runner has a number of useful options You can run jest --help to view all available options Many of the options shown below can also be used together to run tests exactly the way you want Every one of Jest's Configuration options can also be specified through the CLI
Expect - Jest Jest adds the inlineSnapshot string argument to the matcher in the test file (instead of an external snap file) the first time that the test runs Check out the section on Inline Snapshots for more info
Testing Asynchronous Code · Jest It's common in JavaScript for code to run asynchronously When you have code that runs asynchronously, Jest needs to know when the code it is testing has completed, before it can move on to another test Jest has several ways to handle this