Przypadki testowe JUnit w Javie: prosty samouczek JUnit 5.7.1 Hello World ze wszystkimi szczegółami w jednym

Opublikowany: 2019-10-30
przykład-java-junit

Co to jest JUnit?

JUnit to prosty, wydajny framework open source do pisania i uruchamiania powtarzalnych testów. Uwielbiam testy JUnit. Podczas tworzenia projektu Java intensywnie używam JUnit do pokrycia kodu. Jest to instancja architektury xUnit dla frameworków do testów jednostkowych.

Funkcje JUnit obejmują:

  1. Asercje do testowania oczekiwanych wyników
  2. Oprawy testowe do udostępniania wspólnych danych testowych
  3. Przetestuj biegaczy do prowadzenia testów

W tym samouczku omówię punkt 1 i 3. Potrzebujesz poniższych zależności maven w swoim projekcie.

Zacznijmy pisać kod.

Krok 1

Utwórz projekt CrunchifyJunitTest i określ pakiet com.crunchify.junit . Oto struktura pakietu do szybkiego odniesienia.

Crunchify JUnit Project Struktura Eclipse

Krok 2

Kliknij prawym przyciskiem myszy CrunchifyJunitTest => Nowa klasa => CrunchifyJunitTest.java

Krok 3

Eclipse zasugeruje i automatycznie doda zależność org.junit.Test po wpisaniu @Test .

Zależność od mistrza testów Eclipse

Krok 4

Aby przetestować test JUnit

  • Kliknij prawym przyciskiem myszy klasę
  • Kliknij Uruchom jako
  • Kliknij JUnit Test

Powinieneś zobaczyć coś takiego.

Test JUnit pomyślny

Krok-5

Spróbuj zmienić parametr oczekiwanej wartości metody z 30 => 300 iz Hello World => Hello -- World i przetestuj ponownie.

Niepowodzenie testu JUnit — wskazówki dotyczące Crunchify

Krok-6

Teraz uruchommy ten sam przypadek testowy via other java . Utwórz CrunchifyRunnerJUnit.java

Krok-7

Uruchom CrunchifyRunnerJUnit.java jako Java Application .

Krok 8

W przypadku 1st code (poprawny oczekiwany parametr), powinieneś zobaczyć dane wyjściowe w następujący sposób:

Krok-9

W przypadku 2nd code (nieprawidłowy oczekiwany parametr) powinieneś zobaczyć coś takiego:

I wszystko gotowe. Daj mi znać, jeśli napotkasz problemy z uruchomieniem tego kodu.

Samouczek JUnit autorstwa Crunchify

Dostępna adnotacja w przypadku testowym JUnit:

Adnotacja

Opis

@Testuj publiczną metodę void() Adnotacja @Test wskazuje, że metoda jest metodą testową.
@Przed publiczną metodą void() Wykona metodę przed każdym testem. Ta metoda może przygotować środowisko testowe (np. odczytać dane wejściowe, zainicjować klasę).
@Po publicznej metodzie void() Wykona metodę po każdym teście. Ta metoda może oczyścić środowisko testowe (np. usunąć dane tymczasowe, przywrócić domyślne).
@BeforeClass public void metoda() Wykona metodę raz, przed rozpoczęciem wszystkich testów. Można to wykorzystać do wykonywania czasochłonnych czynności, na przykład do łączenia się z bazą danych.
@AfterClass public void metoda() Wykona metodę raz, po zakończeniu wszystkich testów. Może to służyć do wykonywania czynności porządkowych, na przykład do odłączania się od bazy danych.
@Ignorować Zignoruje metodę testową. Jest to przydatne, gdy kod bazowy został zmieniony, a przypadek testowy nie został jeszcze dostosowany. Lub jeśli czas wykonania tego testu jest zbyt długi, aby można go było uwzględnić.
@Test (oczekiwany = Exception.class) Nie powiedzie się, jeśli metoda nie zgłosi nazwanego wyjątku.
@Test(czas oczekiwania=100) Nie powiedzie się, jeśli metoda trwa dłużej niż 100 milisekund.

Dostępne metody testu Assert:

Oświadczenie

Opis

niepowodzenie (ciąg) Niech metoda się nie powiedzie. Może służyć do sprawdzania, czy pewna część kodu nie została osiągnięta. Lub mieć nieudany test przed zaimplementowaniem kodu testowego.
AssertTrue (prawda) / AssertTrue (fałsz) Zawsze będzie prawda/fałsz. Może służyć do wstępnego zdefiniowania wyniku testu, jeśli test nie został jeszcze zaimplementowany.
attachTrue([komunikat], warunek logiczny) Sprawdza, czy warunek logiczny jest prawdziwy.
AssertsEquals ([komunikat ciągu], oczekiwany, rzeczywisty) Testy, czy dwie wartości są takie same. Uwaga: w przypadku tablic sprawdzane jest odwołanie, a nie zawartość tablic.
assersEquals([komunikat ciągu], oczekiwany, rzeczywisty, tolerancja) Przetestuj zgodność wartości zmiennoprzecinkowych lub podwójnych. Tolerancja to liczba miejsc po przecinku, która musi być taka sama.
attachNull([komunikat], obiekt) Sprawdza, czy obiekt ma wartość null.
attachNotNull([komunikat], obiekt) Sprawdza, czy obiekt nie ma wartości NULL.
attachSame([Ciąg], oczekiwana, rzeczywista) Sprawdza, czy obie zmienne odwołują się do tego samego obiektu.
attachNotSame([Ciąg], oczekiwana, rzeczywista) Sprawdza, czy obie zmienne odnoszą się do różnych obiektów.