Crie JUnit Conjunto de testes com exemplo: @RunWith @SuiteClasses

No Junit, o conjunto de testes nos permite agregar todos os casos de teste de várias classes em um só lugar e executá-los juntos.

Para executar o teste do conjunto, você precisa anotar uma classe usando as anotações mencionadas abaixo:

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

Com as anotações acima, todas as classes de teste do conjunto começarão a ser executadas uma por uma.

Etapas para criar Test Suite e Test Runner

Passo 1) Crie uma classe de teste simples (por exemplo, MyFirstClassTest) e adicione um método anotado com @test.

Etapas para criar conjunto de testes e executor de testes

Passo 2) Crie outra classe de teste para adicionar (por exemplo, MySecondClassTest) e crie um método anotado com @test.

Etapas para criar conjunto de testes e executor de testes

Passo 3) Para criar um testSuite você precisa primeiro anotar a classe com @RunWith(Suite.class) e @SuiteClasses(class1.class2…..).

Etapas para criar conjunto de testes e executor de testes

Passo 4) Crie uma classe Test Runner para executar nosso conjunto de testes conforme mostrado abaixo;

Etapas para criar conjunto de testes e executor de testes

Explicação do código:

  • Linha de código 8: Declarando o método principal da classe test que executará nosso JUnit teste.
  • Linha de código 9: Executando casos de teste usando JunitCore.runclasses que usa o nome da classe de teste como parâmetro (no exemplo acima, você está usando TestSuiteExample.class mostrado na etapa 3).
  • Linha de código 11: Processando o resultado usando o loop for e imprimindo o resultado com falha.
  • Linha de código 13: Imprimindo o resultado bem-sucedido.

Saída: Aqui está a saída que mostra o teste bem-sucedido sem nenhum rastreamento de falha, conforme mostrado abaixo:

Etapas para criar conjunto de testes e executor de testes

JUnit Exemplo de conjunto de testes

Considere um exemplo mais complexo

JunitTest.java

JunitTest.java é uma classe simples anotada com @Correr com e @Suíte anotações. Você pode listar o número de .classes no conjunto como parâmetros, conforme indicado abaixo:

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 é uma classe de teste que possui um método de teste para imprimir uma mensagem conforme mostrado abaixo. Você usará esta classe como um conjunto na classe mencionada acima.

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 é outra classe de teste semelhante a SuiteTest1.java ter um método de teste para imprimir uma mensagem conforme fornecido abaixo. Você usará esta classe como suíte em 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);							
    }		

}		

saída

Depois de executar Teste Junit.java que contém um conjunto com teste1.java e teste2.java, você obterá a saída abaixo:

SuiteTest2.Java saída

SuiteTest2.Java saída

Resumo

Neste tutorial, você aprendeu os fundamentos do equipamento de teste e dos conjuntos de testes em detalhes com um exemplo.

  • Equipamento de teste ou automação Ensaios é um software ou uma coleção de software que permite ao usuário testar dados com múltiplas entradas e controlar a execução
  • O equipamento de teste, na verdade, permite uma estrutura de teste que faz todo o trabalho de execução de testes usando uma biblioteca de testes e gerando um relatório de teste
  • No Junit, o conjunto de testes nos permite agregar todos os casos de teste de muitas classes em um só lugar e executá-los juntos.