Architektura JUnit 5. Część 2
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.
26 kwi 2021
541
Other articles
Testowanie aplikacji za pomocą JUnit5 i JMock. Część 2
Jak przygotować się do certyfikacji IIBA. Wyzwania i hacki
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 2
Testowanie aplikacji za pomocą JUnit5 i Mockito. Część 1
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 2
Testowanie aplikacji za pomocą JUnit5 i EasyMock. Część 1
Test Driven Development z użyciem JUnit 5. Część 6
Test Driven Development z użyciem JUnit 5. Część 5
Test Driven Development z użyciem JUnit 5. Część 4
Test Driven Development z uzyciem JUnit 5. Czesc 3
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ń
- junit-jupiter-engine, implementacja silnika testowego JUnit Jupiter, wymagana tylko w czasie wykonywania
- junit-jupiter-params, który zapewnia obsługę testów sparametryzowanych w JUnit Jupiter
- junit-jupiter-migrationsupport, która zapewnia obsługę migracji z JUnit 4 do JUnit Jupiter i jest wymagana tylko do uruchamiania wybranych reguł JUnit 4
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
- Wspomniane wyżej silniki testowe powstały poprzez rozszerzenie publicznego API junit-platform-engine, będącego częścią Platformy JUnit 5
- Publiczne API junit-platform-launcher dostarcza narzędzia do wykrywania testów wewnątrz platformy JUnit 5, dla narzędzi do budowania, takich jak Maven lub Gradle, lub dla IDE
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