Looma JUnit Testkomplekti näitega: @RunWith @SuiteClasses

Juniti testkomplekt võimaldab meil koondada kõik mitme klassi testjuhtumid ühte kohta ja seda koos käitada.

Komplekti testi käivitamiseks peate klassi märkima, kasutades allolevaid märkusi:

  1. @Runwith (Suite.class)
  2. @SuiteClasses(test1.class,test2.class……) või@Suite.SuiteClasses ({test1.class, test2.class……})

Ülaltoodud märkuste korral hakkavad kõik komplekti kuuluvad testiklassid ükshaaval täitma.

Test Suite'i ja Test Runneri loomise sammud

Step 1) Looge lihtne testklass (nt MyFirstClassTest) ja lisage @test märkusega meetod.

Test Suite'i ja Test Runneri loomise sammud

Step 2) Looge lisamiseks veel üks testklass (nt MySecondClassTest) ja looge @test märkusega meetod.

Test Suite'i ja Test Runneri loomise sammud

Step 3) TestSuite'i loomiseks peate esmalt lisama klassile märkused @RunWith(Suite.class) ja @SuiteClasses(class1.class2…..).

Test Suite'i ja Test Runneri loomise sammud

Step 4) Looge Test Runner klass, et käitada meie testkomplekti, nagu allpool kirjeldatud;

Test Suite'i ja Test Runneri loomise sammud

Koodi selgitus:

  • Koodirida 8: Meie käivitatava klassitesti peamise meetodi deklareerimine JUnit test.
  • Koodirida 9: Testjuhtumite täitmine kasutades JunitCore.runclasses, mis võtab parameetrina testklassi nime (ülaltoodud näites kasutate 3. sammus näidatud TestSuiteExample.classi).
  • Koodirida 11: Tulemuse töötlemine tsükliga ja ebaõnnestunud tulemuse väljatrükkimine.
  • Koodirida 13: Eduka tulemuse väljatrükkimine.

Väljund: Siin on väljund, mis näitab edukat testi ilma tõrkejälgedeta, nagu on näidatud allpool:

Test Suite'i ja Test Runneri loomise sammud

JUnit Test Suite näide

Mõelge keerukamale näitele

JunitTest.java

JunitTest.java on lihtne klass, millele on lisatud märkused @RunWith ja @Suite annotatsioonid. Saate loetletud .klasside arvu komplektis parameetritena, nagu allpool toodud:

package guru99.junit;		
import org.junit.runner.RunWith;		
import org.junit.runners.Suite;		

@RunWith(Suite.class)				
@Suite.SuiteClasses({				
  SuiteTest1.class,
  SuiteTest2.class,  			
})		

public class JunitTest {				
			// This class remains empty, it is used only as a holder for the above annotations		
}

SuiteTest1.java

SuiteTest1.java on testklass, millel on testmeetod sõnumi printimiseks, nagu allpool kirjeldatud. Kasutate seda klassi ülalmainitud klassi sviidina.

package guru99.junit;		

import static org.junit.Assert.assertEquals;				

import org.junit.Test;		

public class SuiteTest1 {				

    public String message = "Saurabh";							

    JUnitMessage junitMessage = new JUnitMessage(message);							

    @Test(expected = ArithmeticException.class)					
    public void testJUnitMessage() {					

        System.out.println("Junit Message is printing ");					
        junitMessage.printMessage();			

    }		

    @Test		
    public void testJUnitHiMessage() {					
        message = "Hi!" + message;							
        System.out.println("Junit Hi Message is printing ");					
        assertEquals(message, junitMessage.printHiMessage());					
        System.out.println("Suite Test 2 is successful " + message);							
    }		
}		

SuiteTest2.java

SuiteTest2.java on veel üks sarnane katseklass SuiteTest1.java testmeetodit sõnumi printimiseks, nagu allpool kirjeldatud. Kasutate seda klassi sviidina JunitTest.java.

package guru99.junit;		

import org.junit.Assert;		
import org.junit.Test;		

public class SuiteTest2 {				
   	

    @Test		
    public void createAndSetName() {					
        		

        String expected = "Y";					
        String actual = "Y";					

        Assert.assertEquals(expected, actual);					
        System.out.println("Suite Test 1 is successful " + actual);							
    }		

}		

Väljund

Pärast täitmist JunitTest.java, mis sisaldab komplekti, millel on test1.java ja test2.java, saate alloleva väljundi:

SuiteTest2.Java Väljund

SuiteTest2.Java Väljund

kokkuvõte

Selles õpetuses õppisite üksikasjalikult katserihmade ja testkomplektide põhitõdesid koos näitega.

  • Testige rakmeid või automatiseerimist Testimine on tarkvara või tarkvarakogum, mis võimaldab kasutajal testida andmeid mitme sisendiga ja kontrollida täitmist
  • Testrakmed võimaldavad tegelikult testimise raamistikku, mis teeb kogu töö, mis on seotud testide läbiviimisega, kasutades testteeki ja genereerib testiaruande
  • Junitis võimaldab testkomplekt paljude klasside kõik testjuhtumid ühte kohta koondada ja koos käitada.