Mikołaj Radwan <mr222146@students> JUnit Mikołaj Radwan <mr222146@students>
Co to jest? JUnit jest zrębem służącym do wykonywania testów jednostkowych kodu Należy do rodziny zrębów xUnit (inne elementy tej rodziny to np PHPUnit, Nunit, PyUnit itd.)
Co to jest? JUnit jest zrębem służącym do wykonywania testów jednostkowych kodu Należy do rodziny zrębów xUnit (inne elementy tej rodziny to np PHPUnit, Nunit, PyUnit itd
Testy jednostkowe (unit tests) Testowanie jednostkowe to procedura polegająca na sprawdzaniu czy konkretne jednostki programu działają poprawnie Jednostka jest najmniejszym testowalnym elementem aplikacji (funkcja / procedura / metoda) Każdy 'test case' powinien być oddzielny i niezależny od innych
Testy jednostkowe - zalety Testy regresyjne (czy kod nadal robi to co powinien?) Ułatwienie wykonywania testów integracyjnych Dokumentacja, ułatwienie zrozumienia znaczenia kodu
Testy jednostkowe - ograniczenia Nie wykrywa błędów integracyjnych, problemów z wydajnością, czy innych problemów w szerszej skali Może pokazać obecność błędów, nie może pokazać ich braku Jak wynika z kombinatoryki – są rozpompowane
Testy jednostkowe - podejścia “napisz test, jeśli będziesz miał czas” vel “nie pisz testów” ;) “kiedy chcesz coś wypisać na ekran, bądź dopisać jako wyrażenie debuggera – napisz test” “kiedy potrzebujesz nowej funkcjonalności – najpierw napisz test” “kiedy coś nie działa – napisz test”
JUnit 4 – krótki podręcznik Do wersji 3.8.1 rozpoznawanie odpowiednich metod odbywało się za pomocą mechanizmu refleksji Od wersji 4, metody są wskazywane przez adnotacje
JUnit 4 – krótki podręcznik Najprostsza klasa testująca class FooTest extends TestCase { @org.junit.Test public void barTest() { assertTrue(true); }
JUnit 4 – krótki podręcznik Ważne adnotacje: @org.junit.Before @org.junit.After parametr 'expected' w 'test'
JUnit 4 – krótki podręcznik Asercje: assertTrue assertFalse assertNotNull assertEquals ...
JUnit 4 – użycie z Maven 2 testy są wykonywane za pomocą wtyczki “surefire” kompilacja i wykonywanie testów jednostkowych są wbudowane w cykl życia wydania
Dziękuję