Skip to main content
Version: 28.x

Primii pași

Install Jest using your favorite package manager:

npm install --save-dev jest

Let's get started by writing a test for a hypothetical function that adds two numbers. First, create a sum.js file:

function sum(a, b) {
return a + b;
}
module.exports = sum;

Then, create a file named sum.test.js. This will contain our actual test:

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});

Adăugați secțiunea următoare în fișierul vostru package.json:

{
"scripts": {
"test": "jest"
}
}

Finally, run yarn test or npm test and Jest will print this message:

PASS  ./sum.test.js
✓ adds 1 + 2 to equal 3 (5ms)

Tocmai ați scris cu succes primul test folosind Jest!

Testul acesta a folosit expect și toBe pentru a testa dacă două valori sunt identice. Pentru a afla mai multe lucruri pe care Jest le poate testa, vezi Utilizarea regulilor de potrivire.

Rularea din linia de comandă​

You can run Jest directly from the CLI (if it's globally available in your PATH, e.g. by yarn global add jest or npm install jest --global) with a variety of useful options.

Iată cum să executaţi Jest pe fişierele my-test, folosind config.json ca fişier de configurare şi afişarea unei notificări native de sistem după rulare:

jest my-test --notify --config=config.json

Dacă doriţi să aflaţi mai multe despre rularea jest prin linia de comandă, vezi pagina de Opțiuni Jest pentru linia de comandă.

Informații suplimentare​

Generate a basic configuration file​

Based on your project, Jest will ask you a few questions and will create a basic configuration file with a short description for each option:

jest --init

Folosind Babel​

To use Babel, install required dependencies:

npm install --save-dev babel-jest @babel/core @babel/preset-env

Configure Babel to target your current version of Node by creating a babel.config.js file in the root of your project:

babel.config.js
module.exports = {
presets: [['@babel/preset-env', {targets: {node: 'current'}}]],
};

The ideal configuration for Babel will depend on your project. See Babel's docs for more details.

Making your Babel config jest-aware

Jest will set process.env.NODE_ENV to 'test' if it's not set to something else. You can use that in your configuration to conditionally setup only the compilation needed for Jest, e.g.

babel.config.js
module.exports = api => {
const isTest = api.env('test');
// You can use isTest to determine what presets and plugins to use.

return {
// ...
};
};
note

babel-jest is automatically installed when installing Jest and will automatically transform files if a babel configuration exists in your project. Pentru a evita acest comportament, aveţi posibilitatea să reiniţializaţi explicit opţiunea de configurare transform:

jest.config.js
module.exports = {
transform: {},
};

Folosind Webpack​

Jest poate fi utilizat în proiecte care folosesc webpack pentru gestionarea fișierelor statice, stiluri şi compilare. webpack oferă unele provocări unice față de alte instrumente. Urmați ghidul webpack pentru a începe.

Using parcel​

Jest can be used in projects that use parcel-bundler to manage assets, styles, and compilation similar to webpack. Parcel requires zero configuration. Refer to the official docs to get started.

Folosind TypeScript​

Via babel​

Jest supports TypeScript, via Babel. First, make sure you followed the instructions on using Babel above. Next, install the @babel/preset-typescript:

npm install --save-dev @babel/preset-typescript

Then add @babel/preset-typescript to the list of presets in your babel.config.js.

babel.config.js
module.exports = {
presets: [
['@babel/preset-env', {targets: {node: 'current'}}],
'@babel/preset-typescript',
],
};

However, there are some caveats to using TypeScript with Babel. Because TypeScript support in Babel is purely transpilation, Jest will not type-check your tests as they are run. If you want that, you can use ts-jest instead, or just run the TypeScript compiler tsc separately (or as part of your build process).

Via ts-jest​

ts-jest is a TypeScript preprocessor with source map support for Jest that lets you use Jest to test projects written in TypeScript.

npm install --save-dev ts-jest

In order for Jest to transpile TypeScript with ts-jest, you may also need to create a configuration file.

Type definitions​

You may also want to install the @types/jest module for the version of Jest you're using. This will help provide full typing when writing your tests with TypeScript.

note

For @types/* modules it's recommended to try to match the version of the associated module. For example, if you are using 26.4.0 of jest then using 26.4.x of @types/jest is ideal. In general, try to match the major (26) and minor (4) version as closely as possible.

npm install --save-dev @types/jest