Testy jednostkowe to automatyczne testy przeprowadzane przez programistów w celu przetestowania zaprogramowanego przez siebie fragmentu kodu. W duchu programowania proceduralnego można przetestować także cały moduł, jednak w duchu programowania obiektowego testowane są interfejsy, klasy i poszczególne metody.
Dobry programista najpierw pisze UnitTest dla nowo powstającej jednostki, który jasno określa, co dana jednostka ma robić (opisowo lub behawioralnie, jakie są wejścia i wyjścia, jeśli potraktujemy jednostkę jak pudełko), a następnie dodaje do niej funkcjonalność.
Testy jednostkowe dotyczą głównie metodologii TDD (Test-Driven Development). Jednak UnitTesty pomagają nie tylko pisać bezbłędny kod, ale także pisać czysty kod.
Jeśli odpowiedź na to pytanie brzmi „tak”, prawdopodobnie jest to czysta metoda bez skutków ubocznych.
Jeśli nie możesz po prostu przetestować metody, prawdopodobnie masz metodę, która nie robi jednej rzeczy i może mieć nieoczekiwane skutki uboczne.
Marián Knězek