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 } };
}
}