Spis treści
Dobre testy jednostkowe charakteryzują się następującymi cechami:
- sprawdzają wszystkie możliwe ścieżki wykonania metody – by mieć pewność, że metoda będzie działała w różnych warunkach,
- są krótkie – a dzięki temu łatwe w zrozumieniu i utrzymaniu,
- są czytelne i schludnie napisane – wymóg, który powinien spełniać każdy kod,
- pozwalają na zrozumienie testowanego kodu – dzięki temu będą dodatkowo służyć jako dokumentacja tego, co testują,
- są szybkie – abyśmy nie musieli czekać kilka minut na to, aż się wykonają,
- jeden zestaw danych testowych na jedną metodę testową – zazwyczaj jeden przypadek testowy testowany jest w jednej metodzie testującej – zamiast wykonywać wszystkie testy w jednej metodzie, chcemy odseparować od siebie różne przypadki testowe.
Można zadać teraz dwa pytania:
- a co z testami testów?
- co dzieje się w przypadku, jeżeli musimy zmienić kod, przez co testy przestaną działać?
W pierwszym przypadku odpowiedź jest bardzo prosta:
Oznacza to, że jeżeli źle napiszemy testy, to nie będą one działać. Istnieje tutaj zależność działania kodu testów od kodu produkcyjnego i poprawności kodu produkcyjnego od działania testów.
A jeżeli kod produkcyjny się zmienia i testy przestają działać? Wtedy zmieniamy testy by odzwierciedlały zmiany w kodzie produkcyjnym, dodajemy nowe, usuwamy stare, jeżeli są już niepotrzebne. Należy pamiętać, że o testy należy dbać tak samo, jak o kod produkcyjny, jeżeli nie bardziej – w końcu to one stoją na straży naszego kodu.