Testes unitários com TestNG

Irei fazer uma breve introdução ao framework de testes baseado no JUnit, o framework TestNG.

Já o utilizei em alguns projetos e algumas funcionalidades que gosto nele são:

No próprio site do framework existem plugins para Eclipse, Netbeans e IDEA IntelliJ.

Agora mostrarei um pequeno exemplo de um teste unitário utilizando o TestNG:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package br.com.rodrigolazoti.testes;

import org.testng.Assert;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

public class MeuTeste {

  @BeforeClass(description = "Este método será invocado quando este teste é instanciado")
  public void configurar() {
  }

  @Test(dataProvider = "dados", description = "Testa se o valor informado como parâmetro é nulo")
  public void testaValorNulo(Integer valor) {
    Assert.assertNotNull(valor, "Valor informado é nulo!");
  }

  @Test(dataProvider = "dados", dependsOnMethods = { "testaValorNulo" }, description = "Teste se o valor informado como parâmetro é positivo")
  public void testaNumeroPositivo(Integer valor) {
    Assert.assertTrue(valor >= 0, "O valor é negativo!");
  }

  /**
  *
  * Provê dados para os testes serem realizados.
  *
  * @return Retorna um array multidimensional.
  *
  */
  @DataProvider(name = "dados")
  public Object[][] gerarDados() {
    return new Object[][] { { -10 }, { 0 }, { 10 }, { null } };
  }
}

comments powered by Disqus