1 Czyli jak testować w Eclipsie?JUnit Czyli jak testować w Eclipsie? 1
2 Testowanie jednostkowePozwala sprawdzić, czy pojedyncza jednostka kodu zachowuje się poprawnie Porównywanie oczekiwanego wyniku z wynikiem otrzymanym z kodu Pozwala sprawdzić kod po wprowadzeniu zmian Podstawa dla Test Driven Development 2
3 JUnit Framework do testowania jednostkowego w Javie stworzony przez Ericha Gamme and Kenta Becka Pomysł przeniesiony na inne języki programowania: C# (Nunit), Python (PyUnit), C++ (CPPUnit) Nowości w JUnit 4.X Więcej szczegółów na 3
4 JUnit 3.X Klasa testowa musi rozszerzać klasę TestCaseNazwa metody testującej musi się zaczynać od „test”, musi być publiczna i nie może zwracać żadnej wartości public void testIsValid() Specjalne metody setUp() oraz tearDown() wykonywane przed i po każdej metodzie testującej
5 Tworzenie testów(1) JUnit Test Case
6 Tworzenie testów(2) wersja JUnita gdzie umieścić testy? jaki pakiet?Jaka nazwa klasy testującej? co wygenerować? jaką klasę testujemy? dodanie biblioteki JUNit do projektu
7 Tworzenie testów(3) które metody chcemy testować?metody testujące jako final? czy wygenerować zadania TODO?
8 JUnit 3.X - Przykład (1)
9 JUnit 3.X - Przykład (2)
10 JUnit 3.X - Przykład (3)
11 Uruchamianie testów Wsparcie dla 3.X i 4.XUruchamianie testów przez opcję z menu kontekstowego Widok JUnit
12 Raport z wykonania testówponowne uruchomienie testów raport Szczegóły dotyczące testu
13 JUnit 4.X (1) Wykorzystuje annotacjeNie trzeba rozszerzać żadej klasy Nie ma ograniczeń na nazwę metody testującej Dowolna metoda może być uruchamiana przed lub po metodzie testującej Możliwośc wyznaczenia metod uruchamoanych przed lub po wszystkich metodach testujących
14 JUnit 4.X (2) W naszej klasie testującej oznaczamy:Metodę testującą Metodę „set up” Metodę „tear down” Metodę uruchamianą przed wszystkimi metodami testujęcymi Metodę uruchamianą po wszystkich metodach testujęcych
15 JUnit 4.X (3) Dodatkowe możliwości:może być sparametryzowana przez nazwę wyjątku jakiego spodziewamy się z testowanej metody pozwala zignorować daną metodę testującą Jako parametr dla możemy podać czas (w mikrosekundach) opóźnienia uruchomienia danej metody testowej
16 JUnit 4.X - Przykład (1)
17 JUnit 4.X - Przykład (2)
18 Ćwiczenia Do trzeba zrobić? Z CVSa ściągnąc projekt Computing4StudentsW dołączonej bibliotece posiane jest 6 błędów Napisac testy, które wykryją posiane błędy
19 Pytania?
20 Koniec Dziękuję za uwagę