Sobes.tech
Junior — Middle

Jaký je rozdíl mezi inicializací pomocí Before All a Before Each ve testovacích rámcích?

sobes.tech AI

Odpověď od AI

Before All a Before Each jsou hooky (funkce), které se vykonávají před testy, ale s různým rozsahem:

  • Before All (například beforeAll v Jest) se spustí jednou před všemi testy v sadě. Používá se k inicializaci společných zdrojů, které lze znovu použít ve všech testech.

  • Before Each (například beforeEach) se spustí před každým jednotlivým testem. Používá se k přípravě čistého stavu před každým testem, aby testy na sebe neovlivňovaly.

Příklad:

beforeAll(() => {
  // Spustí se jednou
  initializeDatabaseConnection();
});

beforeEach(() => {
  // Spustí se před každým testem
  resetTestData();
});