Sobes.tech
Junior — Middle

Jaka jest różnica między inicjalizacją za pomocą Before All a Before Each w frameworkach testowych?

sobes.tech AI

Odpowiedź od AI

Before All i Before Each to hooki (funkcje), które są wykonywane przed testami, ale z różnym zakresem:

  • Before All (np. beforeAll w Jest) jest wykonywane raz przed wszystkimi testami w zestawie. Służy do inicjalizacji wspólnych zasobów, które można ponownie wykorzystać we wszystkich testach.

  • Before Each (np. beforeEach) jest wykonywane przed każdym pojedynczym testem. Służy do przygotowania czystego stanu przed każdym testem, aby testy nie wpływały na siebie nawzajem.

Przykład:

beforeAll(() => {
  // Wykonuje się raz
  initializeDatabaseConnection();
});

beforeEach(() => {
  // Wykonuje się przed każdym testem
  resetTestData();
});