Zpo-3-lab: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Bwalter (dyskusja | edycje)
Nie podano opisu zmian
 
Linia 34: Linia 34:
==Literatura==
==Literatura==
# T. Janaudy "TestNG: The next generation of unit testing". [[http://www.javaworld.com/javaworld/jw-04-2005/jw-0404-testng.html JavaWorld]]
# T. Janaudy "TestNG: The next generation of unit testing". [[http://www.javaworld.com/javaworld/jw-04-2005/jw-0404-testng.html JavaWorld]]
# T. Mackinnon, S. Freeman, P. Craig "Endo testing. Unit testing with mock objects". [[http://www.connextra.com/aboutUs/mockobjects.pdf PDF]]
# "Mock objects i EasyMock w praktyce". [[http://jdn.pl/node/6 Java Developers Network]]
# A. Chaffee, W. Pietri "Unit testing with mock objects". [[http://www-128.ibm.com/developerworks/library/j-mocktest.html IBM]]
# Strona domowa projektu [[http://www.junit.org JUnit]]
# Strona domowa projektu [[http://www.junit.org JUnit]]
# Strona domowa projektu [[http://testng.org TestNG]]
# Strona domowa projektu [[http://testng.org TestNG]]

Aktualna wersja na dzień 22:42, 4 wrz 2006

Ć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]