W Junit zestaw testów umożliwia agregację wszystkich przypadków testowych z wielu klas w jednym miejscu i wspólne uruchamianie.
Aby uruchomić pakiet testowy, musisz dodać adnotację do klasy za pomocą poniższych adnotacji:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class…) lub
@ Suite.SuiteClasses ({test1.class, test2.class
…})
Dzięki powyższym adnotacjom wszystkie klasy testowe w zestawie zaczną się wykonywać jedna po drugiej.
Kroki, aby utworzyć pakiet testów i test runner
Krok 1) Utwórz prostą klasę testową (np. MyFirstClassTest) i dodaj metodę z adnotacją @test.
Krok 2) Utwórz kolejną klasę testową do dodania (np. MySecondClassTest) i utwórz metodę z adnotacją @test.
Krok 3) Aby utworzyć testSuite, musisz najpierw oznaczyć klasę adnotacją @RunWith (Suite.class) i @SuiteClasses (class1.class2
…).Krok 4) Utwórz klasę Test Runner, aby uruchomić nasz zestaw testów, jak podano poniżej;
Objaśnienie kodu:
- Linia kodu 8: Deklaracja głównej metody testu klasy, która uruchomi nasz test JUnit.
- Linia kodu 9: Wykonywanie przypadków testowych przy użyciu JunitCore.runclasses, które przyjmują nazwę klasy testowej jako parametr (w powyższym przykładzie używasz TestSuiteExample.class pokazanego w kroku 3).
- Linia kodu 11: Przetwarzanie wyniku za pomocą pętli for i drukowanie nieudanego wyniku.
- Linia kodu 13: Drukowanie pomyślnego wyniku.
Wynik : Oto dane wyjściowe, które pokazują pomyślny test bez śladu awarii, jak podano poniżej:
Przykład pakietu testowego JUnit
Rozważ bardziej złożony przykład
JunitTest.java
JunitTest.java to prosta klasa opatrzone @RunWith i @Suite adnotacji. Możesz podać liczbę .classes w zestawie jako parametry, jak podano poniżej:
pakiet guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})public class JunitTest {// Ta klasa pozostaje pusta, jest używana tylko jako uchwyt na powyższe adnotacje}
SuiteTest1.java
SuiteTest1.java to klasa testowa z metodą testową do wydrukowania wiadomości, jak podano poniżej. Będziesz używać tej klasy jako zestawu w wyżej wymienionej klasie.
pakiet guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class SuiteTest1 {public String message = "Saurabh";JUnitMessage junitMessage = nowy JUnitMessage (wiadomość);@Test (oczekiwano = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Trwa drukowanie komunikatu Junit");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {wiadomość = „Cześć!” + wiadomość;System.out.println ("Trwa drukowanie komunikatu Junit Hi");assertEquals (wiadomość, junitMessage.printHiMessage ());System.out.println („Suite Test 2 powiódł się” + komunikat);}}
SuiteTest2.java
SuiteTest2.java to kolejna klasa testowa podobna do SuiteTest1.java, która ma metodę testową do wydrukowania wiadomości, jak podano poniżej. Będziesz używać tej klasy jako zestawu w JunitTest.java .
pakiet guru99.junit;import org.junit.Assert;import org.junit.Test;public class SuiteTest2 {@Testpublic void createAndSetName () {Oczekiwany ciąg = „Y”;Ciąg rzeczywisty = "Y";Assert.assertEquals (oczekiwane, rzeczywiste);System.out.println ("Suite Test 1 powiódł się" + faktyczny);}}
Wynik
Po wykonaniu JunitTest .java, który zawiera pakiet zawierający test1.java i test2.java , otrzymasz następujące dane wyjściowe:
Podsumowanie
W tym samouczku nauczyłeś się podstaw testowania wiązek przewodów i zestawów testów szczegółowo na przykładzie.
- Wiązka testowa lub automatyzacja Testowanie to oprogramowanie lub zbiór oprogramowania, które umożliwia użytkownikowi testowanie danych z wieloma wejściami i sterowanie wykonaniem
- Test harness w rzeczywistości umożliwia strukturę testową, która wykonuje całą pracę związaną z wykonywaniem testów przy użyciu biblioteki testów i generowaniem raportu z testów
- W Junit zestaw testów umożliwia agregację wszystkich przypadków testowych wielu klas w jednym miejscu i wspólne uruchamianie.