Crie JUnit Test Suite com Exemplo: @RunWith @SuiteClasses

Índice:

Anonim

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:

  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 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.