Sobes.tech
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();
});