Zpo-3-lab

Z Studia Informatyczne
Wersja z dnia 22:42, 4 wrz 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Ćwiczenie 3. Testowanie jednostkowe

Informacje wstępne

Ćwiczenie jest realizowany w języku Java w środowisku Eclipse 3.2. Przed przystąpieniem do realizacji ćwiczenia należy zapozanać się z wykładem. Celem ćwiczenia jest implementacja testów jednostkowych zgodnych z konwencją JUnit 3.8, JUnit 4.1 i TestNG

Instalacja

Przygotowanie do ćwiczenia polega na zainstalowaniu JDK 5.0 [1] oraz środowiska Eclipse [2] w wersji 3.2 Po uruchomieniu środowiska i wyborze przestrzeni roboczej należy zaimportować (menu File->Import->Existing projects into workspace) projekt zpo-3-lab.zip z szablonem rozwiązania.

Zadanie 1

Zaimplementuj testy jednostkowe dla istniejącej klasy RomanNumberConverter, która służy do konwersji liczb arabskich na liczby rzymskie. Konstruktor tej klasy przyjmuje jako parametr liczbę będącą wartością arabską, natomiast metoda toRoman() zwraca napis będący zapisem rzymskiego odpowiednika tej liczby.

Testy jednostkowe należy zapisać w postaci trzech klas:

  • RomanNumberJUnit3Test, zawierającej przypadki testowe dla biblioteki JUnit 3.8
  • RomanNumberJunit4Test, zawierającej przypadki testowe dla biblioteki JUnit 4.1
  • RomanNumberTestNGTest, zawierającej przypadki testowe dla biblioteki TestNG

Przypadki testowe muszą uwzględniać:

  • liczby ujemne
  • wartości weryfikujące poprawność generowania każdej cyfry rzymskiej

Podczas tworzenia testów warto wykorzystać rozszerzone możliwości oferowane przez JUnit 4.1 oraz TestNG

Zadanie 2

Zaimplementuj testy jednostkowe dla klasy CollectionSet stworzonej w poprzednim ćwiczeniu. Przypadki testowe powinny uwzględniać:

  • próbę dodania elementu, który nie jest kolekcją,
  • dodanie jednej kolekcji,
  • dodanie kilku kolekcji,
  • dodanie kilku kolekcji, z których część też jest instancjami klasy CollectionSet.

Literatura

  1. T. Janaudy "TestNG: The next generation of unit testing". [JavaWorld]
  2. Strona domowa projektu [JUnit]
  3. Strona domowa projektu [TestNG]