Io-11-wyk-Slajd43
Architektura JUnit 3.x
Biblioteka składa się z wielu klas i interfejsów jednak omówione zostaną tylko najważniejsze z nich. Klasą bazową dla wszystkich przypadków testowych jest klasa TestCase . W zamyśle autorów klasa miała reprezentować pojedynczy przypadek testowy. Choć jest to oczywiście możliwe, w praktyce w ramach tej klasy umieszcza się zbiór przypadków testowych, które mają te same metody do pre- i post- processing. Klasa TestCase udostępnia metody służące do prostych porównań, zwane asercjami , o których mowa będzie w dalszej części wykładu.
Klasy reprezentujące przypadki testowe mogą być grupowane w zbiory wariantów testowych reprezentowane przez klasę TestSuite . Dzięki temu możliwe jest utworzenie hierarchii drzewiastej testów, co daje ich lepsze uporządkowanie i łatwiejsze zarządzanie nimi. Jak widać na powyższym diagramie zbiór przypadków testowych może zawierać także inny zbiór wariantów testów.
Wyniki wykonania testów przechowywane są w obiekcie klasy TestResult . Pojedynczy błąd reprezentowany jest przez obiekt klasy TestFailure . Istnieje wiele dodatków do biblioteki JUnit umożliwiających prezentowanie wyników testów w wielu różnych formatach m. in. pdf, html. Z tej możliwości korzystają również środowiska programistyczne (IDE) dopisując własne rozszerzenia integrujące bibliotekę ze swoimi interfejsami.