Crea JUnit Test Suite con esempio: @RunWith @SuiteClasses

In Junit, la suite di test ci consente di aggregare tutti i casi di test di piรน classi in un unico posto ed eseguirli insieme.

Per eseguire il test della suite, devi annotare una classe utilizzando le annotazioni indicate di seguito:

  1. @Runwith(Suite.class)
  2. @SuiteClasses(test1.class,test2.classโ€ฆโ€ฆ) o@Suite.SuiteClasses ({test1.class, test2.classโ€ฆโ€ฆ})

Con le annotazioni precedenti, tutte le classi di test nella suite inizieranno ad essere eseguite una per una.

Passaggi per creare Test Suite e Test Runner

Passo 1) Crea una semplice classe di test (ad esempio MyFirstClassTest) e aggiungi un metodo annotato con @test.

Passaggi per creare la suite di test e il test runner

Passo 2) Crea un'altra classe di test da aggiungere (ad esempio MySecondClassTest) e crea un metodo annotato con @test.

Passaggi per creare la suite di test e il test runner

Passo 3) Per creare una testSuite devi prima annotare la classe con @RunWith(Suite.class) e @SuiteClasses(class1.class2โ€ฆ..).

Passaggi per creare la suite di test e il test runner

Passo 4) Crea una classe Test Runner per eseguire la nostra suite di test come indicato di seguito;

Passaggi per creare la suite di test e il test runner

Code Spiegazione:

  • Code Linea 8: Dichiarare il metodo principale del test della classe su cui verrร  eseguito il ns JUnit test.
  • Code Linea 9: Esecuzione di casi di test utilizzando JunitCore.runclasses che accetta il nome della classe di test come parametro (nell'esempio sopra, stai utilizzando TestSuiteExample.class mostrato nel passaggio 3).
  • Code Linea 11: Elaborazione del risultato utilizzando il ciclo for e stampa del risultato non riuscito.
  • Code Linea 13: Stampa del risultato positivo.

Produzione: Ecco l'output che mostra un test riuscito senza errori. trace come indicato di seguito:

Passaggi per creare la suite di test e il test runner

JUnit Esempio di suite di test

Consideriamo un esempio piรน complesso

Test Junit.java

JunitTest.java รจ una semplice classe annotata con @Corri con and @Suite annotazioni. Puoi elencare il numero di .classes nella suite come parametri come indicato di seguito:

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 รจ una classe di test che ha un metodo di test per stampare un messaggio come indicato di seguito. Utilizzerai questa lezione come suite nella classe sopra menzionata.

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 รจ un'altra classe di test simile a SuiteTest1.java avere un metodo di prova per stampare un messaggio come indicato di seguito. Utilizzerai questa classe come suite in Test Junit.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);							
    }		

}		

Uscita

Dopo l'esecuzione Test di Junit.java che contiene una suite avente prova1.java and prova2.java, otterrai l'output seguente:

SuiteTest2.Java Uscita

SuiteTest2.Java Uscita

Sintesi

In questo tutorial hai imparato in dettaglio le basi del test harness e delle test suite con un esempio.

  • Testare il cablaggio o l'automazione Collaudo รจ un software o una raccolta di software che consente a un utente di testare dati con piรน input e controllarne l'esecuzione
  • Test cablaggio abilita effettivamente un framework di test che svolge tutto il lavoro di esecuzione dei test utilizzando una libreria di test e generando un report di test
  • In Junit, la test suite ci consente di aggregare tutti i casi di test di molte classi in un unico posto ed eseguirli insieme.

Riassumi questo post con: