Zpo-3-wyk-Slajd23
Z Studia Informatyczne
Wady JUnit 3.x
JUnit w wersji 3.x, mimo prostoty wewnętrznej i spójnego, logicznego projektu obiektowego, posiada szereg wad, które z czasem w coraz większym stopniu utrudniają jego stosowanie w praktyce:
- przyjęcie konwencji nazewniczych dotyczących nazw przypadków testowych jest dość nieporęczne;
- ścisła integracja (poprzez dziedziczenie) z klasą TestCase stwarza dodatkową zależność, której można uniknąć;
- kontrola kolejności wykonywanych przypadków testowych jest utrudniona, ponieważ pierwotnie założono całkowitą ich niezależność od siebie;
- istnieje tylko jedna para metod inicjalizująco-finalizujących, i to wyłącznie na poziomie przypadku testowego. Powoduje to zbędną duplikację kodu w bardziej złożonych przypadkach;
- brak wielu istotnych funkcji (np. obsługi limitów czasowych, wbudowanej obsługi testowania wyjątków, braku mechanizmu konfiguracji przypadków testowych), spośród których część jest obecna w rozszerzeniach tworzonych przez niezależnych autorów.
Wady te oraz pojawienie się możliwości związanych z nowymi elementami języka Java w wersji 5.0 spowodowały powstanie oraz szybki rozwój dwóch bibliotek: JUnit 4.0, będącej napisaną od nowa wersją JUnit 3.8, wyposażoną w nowe możliwości, oraz TestNG – niezależnej implementacji częściowo zgodnej z JUnit 3.x, jednak opartej na nieco zmodyfikowanych założeniach.