No Junit, o conjunto de testes nos permite agregar todos os casos de teste de várias classes em um lugar e executá-lo juntos.
Para executar o teste do pacote, você precisa fazer anotações em 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 no conjunto começarão a ser executadas uma por uma.
Etapas para criar Test Suite e Test Runner
Etapa 1) Crie uma classe de teste simples (por exemplo, MyFirstClassTest) e adicione um método anotado com @test.
Etapa 2) Crie outra classe de teste para adicionar (por exemplo, MySecondClassTest) e crie um método anotado com @test.
Etapa 3) Para criar um testSuite, você precisa primeiro anotar a classe com @RunWith (Suite.class) e @SuiteClasses (class1.class2
…).Etapa 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 do teste de classe que executará nosso teste JUnit.
- Linha de código 9: Executando casos de teste usando JunitCore.runclasses que leva o nome da classe de teste como um 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: Impressão do resultado bem-sucedido.
Saída: Aqui está a saída que mostra o teste bem-sucedido sem nenhum traço de falha, conforme mostrado abaixo:
Exemplo de conjunto de testes JUnit
Considere um exemplo mais complexo
JunitTest.java
JunitTest.java é uma classe simples anotada com anotações @RunWith e @Suite . Você pode listar o número de .classes no pacote como parâmetros conforme fornecido 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 {// Esta classe permanece vazia, ela é usada apenas como suporte para as anotações acima}
SuiteTest1.java
SuiteTest1.java é uma classe de teste com um método de teste para imprimir uma mensagem conforme mostrado abaixo. Você usará esta classe como uma suíte na classe mencionada acima.
package guru99.junit;import static org.junit.Assert.assertEquals;import org.junit.Test;public class SuiteTest1 {mensagem pública String = "Saurabh";JUnitMessage junitMessage = new JUnitMessage (mensagem);@Test (esperado = ArithmeticException.class)public void testJUnitMessage () {System.out.println ("Mensagem Junit está sendo impressa");junitMessage.printMessage ();}@Testepublic void testJUnitHiMessage () {mensagem = "Oi!" + mensagem;System.out.println ("Junit Hi Message está imprimindo");assertEquals (mensagem, junitMessage.printHiMessage ());System.out.println ("Suite Teste 2 bem-sucedido" + mensagem);}}
SuiteTest2.java
SuiteTest2.java é outra classe de teste semelhante a SuiteTest1.java, tendo um método de teste para imprimir uma mensagem conforme mostrado abaixo. Você usará essa classe como suíte em JunitTest.java .
package guru99.junit;import org.junit.Assert;import org.junit.Test;public class SuiteTest2 {@Testepublic void createAndSetName () {String esperada = "Y";String real = "Y";Assert.assertEquals (esperado, real);System.out.println ("Suite Test 1 bem-sucedido" + real);}}
Resultado
Depois de executar JunitTest .java, que contém um conjunto com test1.java e test2.java , você obterá a saída a seguir:
Resumo
Neste tutorial, você aprendeu noções básicas de arnés de teste e suítes de teste em detalhes com um exemplo.
- Chicote de teste ou automação O teste é um software ou uma coleção de software, que permite a um usuário testar dados com várias entradas e controlar a execução
- O chicote de teste, na verdade, permite uma estrutura de teste que faz todo o trabalho de execução de testes usando uma biblioteca de teste 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 lugar e executá-lo juntos.