Crea JUnit Suită de testare cu exemplu: @RunWith @SuiteClasses

În Junit, suita de teste ne permite să cumulăm toate cazurile de testare din mai multe clase într-un singur loc și să o rulăm împreună.

Pentru a rula testul suită, trebuie să adnotați o clasă folosind adnotările menționate mai jos:

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

Cu adnotările de mai sus, toate clasele de testare din suită vor începe să se execute una câte una.

Pași pentru a crea Test Suite și Test Runner

Pas 1) Creați o clasă de testare simplă (ex. MyFirstClassTest) și adăugați o metodă adnotată cu @test.

Pași pentru a crea Test Suite și Test Runner

Pas 2) Creați o altă clasă de testare de adăugat (de ex. MySecondClassTest) și creați o metodă adnotată cu @test.

Pași pentru a crea Test Suite și Test Runner

Pas 3) Pentru a crea un testSuite, trebuie să adnotați mai întâi clasa cu @RunWith(Suite.class) și @SuiteClasses(class1.class2…..).

Pași pentru a crea Test Suite și Test Runner

Pas 4) Creați o clasă Test Runner pentru a rula suita noastră de teste, așa cum este prezentat mai jos;

Pași pentru a crea Test Suite și Test Runner

Explicația codului:

  • Linia de cod 8: Declararea metodei principale a testului de clasă care va rula JUnit Test.
  • Linia de cod 9: Executarea cazurilor de testare folosind JunitCore.runclasses care ia numele clasei de testare ca parametru (În exemplul de mai sus, utilizați TestSuiteExample.class prezentat în pasul 3).
  • Linia de cod 11: Procesarea rezultatului utilizând bucla for și imprimarea rezultatului eșuat.
  • Linia de cod 13: Imprimarea rezultatului de succes.

ieșire: Iată rezultatul care arată testul reușit fără urmă de eșec, așa cum este prezentat mai jos:

Pași pentru a crea Test Suite și Test Runner

JUnit Exemplu de suită de teste

Luați în considerare un exemplu mai complex

JunitTest.java

JunitTest.java este o clasă simplă adnotată cu @Alearga cu si @Suită adnotări. Puteți enumera numărul de .classe din suită ca parametri, după cum este indicat mai jos:

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 este o clasă de testare care are o metodă de testare pentru a tipări un mesaj așa cum este prezentat mai jos. Veți folosi această clasă ca suită în clasa menționată mai sus.

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 este o altă clasă de test similară cu SuiteTest1.java având o metodă de testare pentru a tipări un mesaj așa cum este prezentat mai jos. Veți folosi această clasă ca suită în 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);							
    }		

}		

producție

După executare JunitTest.java care conține o suită având test1.java si test2.java, veți obține rezultatul de mai jos:

SuiteTest2.Java producție

SuiteTest2.Java producție

Rezumat

În acest tutorial, ați învățat elementele de bază ale cablajului de testare și ale suitelor de testare în detalii cu un exemplu.

  • Testați cablajul sau automatizarea Testarea este un software sau o colecție de software, care permite unui utilizator să testeze date cu intrări multiple și să controleze execuția
  • Cablul de testare permite de fapt un cadru de testare care face toată munca de executare a testelor folosind o bibliotecă de teste și generarea unui raport de testare
  • În Junit, suita de teste ne permite să cumulăm toate cazurile de testare ale mai multor clase într-un singur loc și să o rulăm împreună.