przetestować swój kod. • Piszemy metody, które sprawdzają działanie naszych funkcji w aplikacji – czy zwracają odpowiedni wynik i czy zachowują się tak, jak tego chcieliśmy
aby spełniać zasadę DRY • Dopisujemy nową metodę, która korzysta z innej, i nieraz musimy tą starą odrobinę zmienić – sprawdzamy, czy reszta aplikacji przez to nie siądzie • Musimy przeprojektować część aplikacji • Zmieniamy przestrzeń nazw i chcemy sprawdzić czy wszystko działa poprawnie • Testy pisze się szybko (choć jest ich zazwyczaj sporo) • Dzięki testom wiemy dokładnie w którym miejscu jest błąd • Wiemy, że nie napisaliśmy niczego, co posypało projekt
swoją aplikację 1000 razy dziennie w celu sprawdzenia, czy funkcja działa poprawnie. • Albo gdy musimy sprawdzić po raz n-ty, czy działa jakaś starsza, dawno zaimplementowana część projektu. • Testowanie samemu jest o wiele, wiele bardziej męczące, nużące, czasochłonne i zniechęca do programowania.
to na bieżąco, wiemy kiedy wystąpił problem. • Nie ma strachu, że wyślemy jako wersję 'produkcyjną' coś, co nie działa – testy kontrolują, czy aplikacja działa tak jak powinna • Testy działające jako specyfikacja projektu • Możemy przetestować metody, które w gruncie rzeczy, jeszcze nie działają, bo są zależne od innych (niezaimplementowanych) • Testy jako dokumentacja naszego kodu
które tą funkcjonalność sprawdzają. Oczywiście, wszystkie testy kończą się porażką, ponieważ nie mamy jeszcze napisanego kodu. • GREEN – piszemy kod, dążymy do tego, aby testy przechodziły pomyślnie – niekoniecznie piszemy optymalne rozwiązania • REFACTOR – optymalizujemy kod
odwrotnie. • Blogi i fora są skarbnicami wiedzy na temat przykładów różnych testów • Piszemy testy z GUI tylko tam, gdzie są takie potrzebne (zwykłe testy są szybsze) • Jest wiele skryptów/aplikacji, które wspomagają testowanie