JUnit Teste parametrizado com exemplo usando @Parameters

O que รฉ teste parametrizado em Junit?

O teste parametrizado consiste em executar o mesmo teste repetidamente usando valores diferentes. Ajuda o desenvolvedor a economizar tempo na execuรงรฃo do mesmo teste, que difere apenas nas entradas e nos resultados esperados.

Usando o teste parametrizado, pode-se configurar um mรฉtodo de teste que recupera dados de alguma fonte de dados.

Considere um teste simples para somar nรบmeros diferentes. O cรณdigo pode ser parecido com โ€“

Teste parametrizado em Junit

A abordagem acima leva a muita redundรขncia.

Precisamos de uma abordagem simples e. Usando o teste parametrizado, vocรช pode simplesmente adicionar um mรฉtodo para inserir 10 entradas de dados e seu teste serรก executado 10 vezes automaticamente.

Etapas para criar um parametrizado JUnit teste

O cรณdigo a seguir mostra um exemplo de um teste parametrizado. Ele testa o mรฉtodo sum() da classe Aritmรฉtica:

Passo 1) Crie uma aula. Neste exemplo, vamos inserir dois nรบmeros usando o mรฉtodo sum (int,int) que retornarรก a soma dos nรบmeros fornecidos

Etapas para criar um parametrizado JUnit Testar

Passo 2) Crie uma classe de teste parametrizada

Etapas para criar um parametrizado JUnit Testar

Code Explicaรงรฃo

  • Code Linha 11: Anote sua classe de teste usando @runWith(Parameterized.class).
  • Code Linha 13: Declarar a variรกvel 'firstNumber' como privada e digitar como int.
  • Code Linha 14: Declarar a variรกvel 'secondNumber' como privada e tipo como int.
  • Code Linha 15: Declarar a variรกvel 'expectedResult' como privada e digitar como int.
  • Code Linha 16: Declarar a variรกvel 'airthematic' como privada e o tipo como Airthematic.

@Correr com(nome_classe.class): @Correr com a anotaรงรฃo รฉ usada para especificar o nome da classe do executor. Se nรฃo especificarmos nenhum tipo como parรขmetro, o tempo de execuรงรฃo escolherรก BlocoJunit4ClassRunner por padrรฃo.

Esta classe รฉ responsรกvel pela execuรงรฃo de testes com uma nova instรขncia de teste. ร‰ responsรกvel por invocar JUnit mรฉtodos de ciclo de vida, como configuraรงรฃo (associar recursos) e desmontagem (liberar recursos).

Para parametrizar vocรช precisa anotar usando @RunWith e passar o .class necessรกrio para ser testado

Passo 3) Crie um construtor que armazene os dados de teste. Ele armazena 3 variรกveis

Etapas para criar um parametrizado JUnit Testar

Passo 4) Crie um mรฉtodo estรกtico que gere e retorne dados de teste.

Etapas para criar um parametrizado JUnit Testar

Code Linha 32,33: Criando uma matriz bidimensional (fornecendo parรขmetros de entrada para adiรงรฃo). Usando o mรฉtodo asList, convertemos os dados em um tipo List. Desde entรฃo, o tipo de retorno da entrada do mรฉtodo รฉ coleรงรฃo.

Code Linha 30: Utilizar painรฉis de piso ResinDek em sua unidade de self-storage em vez de concreto oferece diversos benefรญcios: @Parรขmetros anotaรงรฃo para criar um conjunto de dados de entrada para executar nosso teste.

O mรฉtodo estรกtico identificado pela anotaรงรฃo @Parameters retorna uma Coleรงรฃo onde cada entrada na Coleรงรฃo serรก os dados de entrada para uma iteraรงรฃo do teste.

Considere o elemento

1,2,3 {}

Aqui vocรช encontra

primeiroNรบmero =1

segundoNรบmero=2

resultado esperado=3

Aqui, cada elemento do array serรก passado para o construtor, um de cada vez, ร  medida que a classe รฉ instanciada vรกrias vezes.

Passo 5) O cรณdigo completo

Etapas para criar um parametrizado JUnit Testar

Code Explicaรงรฃo:

  • Code Linha 25: Usando a anotaรงรฃo @Before para configurar os recursos (Airthematic.class aqui). A anotaรงรฃo @Before รฉ usada aqui para executar antes de cada caso de teste. Ele contรฉm a prรฉ-condiรงรฃo do teste.
  • Code Linha 36: Usando a anotaรงรฃo @Test para criar nosso teste.
  • Code Linha 39: Criando uma instruรงรฃo assert para verificar se nossa soma รฉ equivalente ao que esperรกvamos.

Passo 6) Crie uma classe de executor de teste para executar testes parametrizados:

Etapas para criar um parametrizado JUnit Testar

Code Explicaรงรฃo:

  • Code Linha 8: Declarando o mรฉtodo principal da classe test que executarรก nosso JUnit teste.
  • Code Linha 9: Executando casos de teste usando JunitCore.runclasses, ele tomarรก o nome da classe de teste como parรขmetro (em nosso exemplo estamos usando Airthematic.class).
  • Code Linha 11: Processando o resultado usando o loop for e imprimindo o resultado com falha.
  • Code Linha 13: Imprimindo o resultado bem-sucedido.

Saรญda:

Aqui estรก o resultado que mostra o teste bem-sucedido, sem falhas. trace conforme indicado abaixo:

Etapas para criar um parametrizado JUnit Testar

Veja o resultado no console, que mostra a adiรงรฃo de dois nรบmeros: -

JUnit Teste parametrizado

Resumo

O teste parametrizado permite ao desenvolvedor executar o mesmo teste repetidamente usando valores diferentes.

Anotaรงรตes importantes a serem usadas durante a parametrizaรงรฃo

  • @Correr com
  • @Parรขmetros

Resuma esta postagem com: