Criar 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:
- @Runwith(Suite.class)
- @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.
Passo 2) Crie outra classe de teste para adicionar (por exemplo, MySecondClassTest) e crie um método anotado com @test.
Passo 3) Para criar um testSuite você precisa primeiro anotar a classe com @RunWith(Suite.class) e @SuiteClasses(class1.class2…..).
Passo 4) Crie uma classe Test Runner para executar nosso conjunto de testes conforme mostrado abaixo;
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:
JUnit Exemplo de conjunto de testes
Considere um exemplo mais complexo
JunitTest.java
JunitTest.java é uma classe simples anotada com @Correr com com @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 com teste2.java, você obterá a saída abaixo:
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 Testes é 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.







