Junior — Middle
Каква е разликата между инициализацията с Before All и Before Each в тестовите рамки?
sobes.tech AI
Отговор от AI
Before All и Before Each са hooks (функции), които се изпълняват преди тестовете, но с различен обхват:
-
Before All (например,
beforeAllв Jest) се изпълнява веднъж преди всички тестове в набора. Използва се за инициализация на общи ресурси, които могат да бъдат повторно използвани във всички тестове. -
Before Each (например,
beforeEach) се изпълнява преди всеки отделен тест. Използва се за подготовка на чисто състояние преди всеки тест, за да не влияят един на друг.
Пример:
beforeAll(() => {
// Изпълнява се веднъж
initializeDatabaseConnection();
});
beforeEach(() => {
// Изпълнява се преди всеки тест
resetTestData();
});