Zasady testów jednostkowych
Testy jednostkowe mogą przyspieszać cykl wytwarzania oprogramowania i mogą ułatwiać wprowadzanie zmian. Dobrze zaprojektowane testy mogą zwiększać pewność refaktoryzacji i mogą sprzyjać praktykom TDD.
Zasady projektowe
Testy jednostkowe mogą:
- nie używać I/O 1
- wykonywać się w mniej niż sekundę w praktyce TDD 1
- izolować logikę biznesową od zależności zewnętrznych
- mieć jeden jasny cel i minimalny zestaw asercji
Organizacja i procesy
Małe, szybkie testy mogą wspierać częste uruchamianie całej puli i mogą ograniczać sprzężenia między modułami. Wstrzykiwanie zależności oraz stosowanie atrap, stubów lub mocków może ułatwiać izolację od bazy danych, sieci i systemu plików.
Ryzyko i ograniczenia
Nadmierna liczba mocków może utrudniać utrzymanie i może zaciemniać intencje testu. Testy obejmujące I/O mogą spowalniać feedback i mogą przesuwać się w stronę testów integracyjnych, co zmniejsza ich wartość w TDD 11.