Architektura JUnit 5. Część 2

Druga część naszej serii artykułów o Architekturze Junit 5. Tym razem przyjrzymy się JUnit 5 Jupiter, JUnit 5 Vintage i nie tylko.

3. JUnit 5 Jupiter

JUnit Jupiter to połączenie nowego modelu programowania (adnotacje, klasy, metody) i modelu rozszerzeń do pisania testów i rozszerzeń w JUnit 5. Podprojekt Jupiter dostarcza TestEngine do uruchamiania testów Jupiter opartych na platformie. W przeciwieństwie do wcześniej istniejących runnerów i punktów rozszerzeń reguł w JUnit 4, model rozszerzeń JUnit Jupiter składa się z jednej, spójnej koncepcji: Extension API.

Artefakty zawarte w JUnit Jupiter to:

  • junit-jupiter-api, JUnit Jupiter API do pisania testów i rozszerzeń

4. JUnit 5 Vintage

JUnit Vintage dostarcza TestEngine do uruchamiania testów opartych na JUnit 3 i JUnit 4 na platformie. JUnit 5 Vintage zawiera tylko silnik junit-vintage-engine, implementację silnika do wykonywania testów napisanych w JUnit 3 lub 4. W tym celu potrzebujesz również JUnit 3 lub 4 JAR.

Jest to przydatne do interakcji ze starymi testami już za pośrednictwem JUnit 5. Prawdopodobnie będziesz potrzebował JUnit 5 do pracy nad swoimi projektami, ale wciąż wsparcia dla starych testów. JUnit 5 Vintage jest rozwiązaniem na tę sytuację!

5. Szeroki obraz architektury JUnit 5

Aby na wszystko spojrzeć “od początku do końca” i pokazać, jak działa pełna architektura, powiemy, że platforma JUnit dostarcza narzędzia do przeprowadzania różnego rodzaju testów: testy JUnit 5, stare testy JUnit 3 i 4, oraz testy third-party (Rysunek 2).

Rysunek 2 Szeroki obraz architektury JUnit 5.

Bardziej szczegółowo (Rysunek 3):

  • Testowe API dostarcza narzędzia dla różnych silników testowych: junit-jupiter-api dla testów JUnit 5; junit-4.12 dla testów legacy; silniki niestandardowe dla testów third-party

Rysunek 3 Szczegółowy obraz architektury JUnit 5

Oprócz architektury modułowej, JUnit 5 zapewnia również mechanizm rozszerzeń.

Podkreślamy, że architektura systemu silnie determinuje jego możliwości i zachowanie. Zrozumienie architektury obu JUnit 4 i JUnit 5 pomaga w łatwym zastosowaniu ich możliwości w praktyce, pisaniu wydajnych testów i analizowaniu alternatyw implementacji. Pomaga przyspieszyć tempo zdobywania umiejętności programisty, gdyż opanuje testy jednostkowe.

Interesujesz się Javą? Sprawdź nasze szkolenia.

Catalin Tudose
Java and Web Technologies Expert

Originally published at https://www.luxoft-training.pl.