Функция настройки — это особый тип функции, которая выполняется до или после набора тестов и позволяет настроить среду тестирования, тестовые приспособления или выполнить другие необходимые задачи по настройке.
Jest предоставляет ряд различных функций настройки, которые вы можете использовать в зависимости от ваших потребностей, в том числе:
- beforeAll: Эта функция выполняется один раз перед каждым тестом в наборе тестов. Обычно она используется для настройки среды тестирования или инициализации тестовых объектов, необходимых для всех тестов в наборе.
- beforeEach: Эта функция выполняется перед каждым тестом в наборе тестов. Обычно она используется для настройки тестовых приспособлений или сброса настроек среды тестирования перед каждым отдельным тестом.
- afterEach: Эта функция выполняется после каждого теста в наборе тестов. Обычно она используется для очистки ресурсов, которые использовались во время теста, или для сброса настроек среды тестирования перед следующим тестом.
- afterAll: Эта функция выполняется один раз после завершения всех тестов в наборе тестов. Обычно она используется для очистки ресурсов, которые использовались в процессе тестирования, или для выполнения других задач по завершении.
Функции настройки определяются с помощью методов beforeAll, beforeEach, afterEach и afterAll, предоставляемых глобальной функцией Jest describe. Например, вот как можно определить функцию beforeEach, которая настраивает имитацию подключения к базе данных для ваших тестов:
describe('My tests', () => {
let db;
beforeEach(() => {
db = Jest.fn(); // create a mock database connection
});
it('Test 1', () => {
// your test code
});
it('Test 2', () => {
// your test code
});
});
В этом примере функция beforeEach перед каждым тестом в наборе тестов создаёт новое фиктивное подключение к базе данных, гарантируя, что база данных правильно настроена для каждого отдельного теста.