Настройка Jest
Философия Jest'а заключается в идеальном функционале "из коробки", но иногда вам н ужно немного поработать с конфигурированием.
Советуем хранить конфигурации в отдельном JavaScript, TypeScript или JSON файле. Он будет автоматически загружен, если его название будет выглядеть, как jest.config.js|ts|mjs|cjs|json
. Используйте --config
флаг, чтобы явно указать путь к файлу конфигурации.
Keep in mind that the resulting configuration object must always be JSON-serializable.
The configuration file should simply export an object:
- JavaScript
- TypeScript
/** @type {import('jest').Config} */
const config = {
verbose: true,
};
module.exports = config;
import type {Config} from 'jest';
const config: Config = {
verbose: true,
};
export default config;
Or a function returning an object:
- JavaScript
- TypeScript
/** @returns {Promise<import('jest').Config>} */
module.exports = async () => {
return {
verbose: true,
};
};
import type {Config} from 'jest';
export default async (): Promise<Config> => {
return {
verbose: true,
};
};
To read TypeScript configuration files Jest requires ts-node
. Make sure it is installed in your project.
The configuration also can be stored in a JSON file as a plain object:
{
"bail": 1,
"verbose": true
}
Alternatively Jest's configuration can be defined through the "jest"
key in the package.json
of your project:
{
"name": "my-project",
"jest": {
"verbose": true
}
}
Параметры
You can retrieve Jest's defaults from jest-config
to extend them if needed:
- JavaScript
- TypeScript
const {defaults} = require('jest-config');
/** @type {import('jest').Config} */
const config = {
moduleFileExtensions: [...defaults.moduleFileExtensions, 'mts', 'cts'],
};
module.exports = config;
import type {Config} from 'jest';
import {defaults} from 'jest-config';
const config: Config = {
moduleFileExtensions: [...defaults.moduleFileExtensions, 'mts'],
};
export default config;