Vytvořte JUnit Test Suite s příkladem: @RunWith @SuiteClasses

Obsah:

Anonim

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í:

  1. @Runwith (Suite.class)
  2. @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ě.