'Y'

Junit 5 - Twierdzenia i założenia. Część 1.

Streszczenie: JUnit to framework do testów jednostkowych dla języka programowania Java. Wersja JUnit 5 została przeprojektowana, aby rozwiązać niektóre szczególne problemy z poprzednich wersji. Ma nową architekturę i wiele nowych funkcji.

May 1, 2019 628
Streszczenie: JUnit to framework do testów jednostkowych dla języka programowania Java. Wersja JUnit 5 została przeprojektowana, aby rozwiązać niektóre szczególne problemy z poprzednich wersji. Ma nową architekturę i wiele nowych funkcji. Oprócz tych przedstawionych w naszym poprzednim artykule, omówimy tutaj bardziej szczegółowo twierdzenia i założenia.

  1. Twierdzenia w Junit 5

JUnit Jupiter zawiera więcej metod asercji, które wykonuje JUnit 4. Dodaje kilka, które dobrze nadają się do używania z 8 lambdami Java. Wszystkie asercje JUnit Jupiter są metodami statycznymi w klasie org.junit.jupiter.api.Assertions.

Porównanie asercji w JUnit 4 i JUnit 5 wygląda tak:

junit4-junit5-assertions.png




Komunikat w asercjach jest ostatnim parametrem metod:

static_void_junit5.jpg

Supplier pozwala na leniwą inicjalizację w przypadku złożonych komunikatów.

Tak wygląda fragment kodu wykorzystujący wiele możliwych twierdzeń:

junit5-assertions-example.jpg
junit5.jpg
junit5-junit4.jpg


Metoda assertAll wykona sprawdzanie wszystkich asercji. Ma opcjonalny parametr nagłówka. Parametr nagłówka pozwala rozpoznać grupę asercji w assertAll. Komunikat o awarii metody assertAll pokazuje szczegółowe informacje o każdej asercji pola w grupie.

Metody to:

static_void_junit5.jpg

Tak może wyglądać użycie metod assertAll:

assertall_junit5.jpg

Metoda assertTimeout zastępuje regułę limitu czasu JUnit 4.

assertTimeout czeka na zakończenie działania pliku wykonywalnego. Komunikat o błędzie może wyglądać następująco: przekroczenie limitu czasu 100 ms o 193 ms

assertTimeoutPreemptively zatrzymuje plik wykonywalny, gdy upłynie czas. Komunikat o błędzie może wyglądać następująco: przekroczono limit czasu po 100 ms

Tak może wyglądać użycie metod assertTimeout:

assert_timeout_junit5.jpg

Metoda assertThrows zastępuje regułę JUnit 4 ExpectedException. Wszystkie twierdzenia można składać przeciwko zwróconej instancji rzutu. To sprawia, że testy są bardziej czytelne. Jako pliki wykonywalne możemy używać referencji lambda lub metod.

Metoda to:

static_junit5.jpg

Tak może wyglądać użycie metody assertThrows:


assertThrows_junit5.jpg
junit5.jpg

Interesuje Cię JUnit? Sprawdź nasze szkolenia.

Catalin Tudose
Java and Web Technologies Expert

Udostępnij


Masz jeszcze jakieś pytania?
Skontaktuj się z nami
Thank you.
Your request has been received.