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
beforeAllv 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();
});