Głębiej
Dobre dane testowe są minimalne i celowe:
- Factory zmniejszają duplikację i poprawiają czytelność.
- Snapshoty i golden files powinny być małe i przeglądane.
- Izolacja: czyszczenie DB lub transakcje per test.
- Unikaj globalnych fixtures używanych przez wiele testów.
Przykłady
Podejście z factory:
user = makeUser({ role: 'admin' })
order = makeOrder({ userId: user.id })
Typowe pułapki
- Ogromne fixtures ukrywające intencję.
- Współdzielone mutowalne dane.
- Brak sprzątania, zależność od kolejności.
Pytania uzupełniające na rozmowie
- Kiedy wybierasz factory zamiast fixtures?
- Jak seedujesz dane dla E2E?
- Jak utrzymujesz fixtures zgodne ze schematem?