V Junitu nám testovací sada umožňuje agregovat všechny testovací případy z více tříd na jednom místě a spouštět je společně.
Chcete-li spustit test sady, musíte anotovat třídu pomocí níže uvedených anotací:
- @Runwith (Suite.class)
- @SuiteClasses (test1.class, test2.class…) nebo
@ Suite.SuiteClasses ({test1.class, test2.class
…})
S výše uvedenými anotacemi se všechny testovací třídy v sadě začnou provádět jeden po druhém.
Kroky k vytvoření Test Suite a Test Runner
Krok 1) Vytvořte jednoduchou testovací třídu (např. MyFirstClassTest) a přidejte metodu anotovanou pomocí @test.
Krok 2) Vytvořte další testovací třídu, kterou chcete přidat (např. MySecondClassTest) a vytvořte metodu anotovanou pomocí @test.
Krok 3) Chcete-li vytvořit testSuite, musíte nejprve anotovat třídu pomocí @RunWith (Suite.class) a @SuiteClasses (class1.class2
…).Krok 4) Vytvořte třídu Test Runner pro spuštění naší testovací sady, jak je uvedeno níže;
Vysvětlení kódu:
- Řádek kódu 8: Deklarace hlavní metody třídního testu, který spustí náš test JUnit.
- Řádek kódu 9: Provádění testovacích případů pomocí JunitCore.runclasses, která jako parametr přebírá název testovací třídy (ve výše uvedeném příkladu používáte TestSuiteExample.class zobrazený v kroku 3).
- Řádek kódu 11: Zpracování výsledku pomocí smyčky for a tisk neúspěšného výsledku.
- Řádek kódu 13: Tisk úspěšného výsledku.
Výstup: Zde je výstup, který zobrazuje úspěšný test bez sledování chyb, jak je uvedeno níže:
Příklad JUnit Test Suite
Zvažte složitější příklad
JunitTest.java
JunitTest.java je jednoduchá třída anotovaná anotacemi @RunWith a @Suite . Počet tříd .class v sadě můžete uvést jako parametry, jak je uvedeno níže:
balíček guru99.junit;import org.junit.runner.RunWith;import org.junit.runners.Suite;@RunWith (Suite.class)@ Suite.SuiteClasses ({SuiteTest1.class,SuiteTest2.class,})veřejná třída JunitTest {// Tato třída zůstává prázdná, používá se pouze jako držák výše uvedených anotací}
SuiteTest1.java
SuiteTest1.java je testovací třída s testovací metodou pro tisk zprávy, jak je uvedeno níže. Tuto třídu použijete jako sadu ve výše uvedené třídě.
balíček guru99.junit;importovat statický org.junit.Assert.assertEquals;import org.junit.Test;veřejná třída SuiteTest1 {public String message = "Saurabh";JUnitMessage junitMessage = nový JUnitMessage (zpráva);@Test (očekává se = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Zpráva Junit se tiskne");junitMessage.printMessage ();}@Testpublic void testJUnitHiMessage () {message = "Ahoj!" + zpráva;System.out.println ("Junit Hi Message is printing");assertEquals (message, junitMessage.printHiMessage ());System.out.println („Suite Test 2 is successful“ + zpráva);}}
SuiteTest2.java
SuiteTest2.java je další testovací třída podobná SuiteTest1.java, která má testovací metodu pro tisk zprávy, jak je uvedeno níže. Tuto třídu použijete jako sadu v JunitTest.java .
balíček guru99.junit;import org.junit.Assert;import org.junit.Test;veřejná třída SuiteTest2 {@Testpublic void createAndSetName () {Očekávaný řetězec = "Y";Řetězec skutečný = "Y";Assert.assertEquals (očekávané, skutečné);System.out.println ("Test sady 1 je úspěšný" + aktuální);}}
Výstup
Po provedení JunitTest .java, který obsahuje sadu mající test1.java a test2.java , se dostanete pod výstup:
souhrn
V tomto kurzu jste se podrobně naučili základy testovacího svazku a testovacích sad s příkladem.
- Testovací svazek nebo automatizace Testování je software nebo soubor softwaru, který uživateli umožňuje testovat data s více vstupy a řídit provádění
- Testovací svazek ve skutečnosti umožňuje testovací rámec, který provádí veškerou práci při provádění testů pomocí testovací knihovny a generování testovací zprávy
- V Junitu nám testovací sada umožňuje agregovat všechny testovací případy mnoha tříd na jednom místě a spouštět je společně.