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:

  • Suporte a anotações.
  • Suporte para prover dados aos testes (@DataProvider).
  • Suporte a dependência (dependsOnMethods, dependsOnGroups) e agrupamento (groups) de métodos e/ou grupos de métodos.
  • Suporte a parâmetros (parameters).

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:

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

}

}
Compartilhe esta informação com outras pessoas:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • DZone
  • LinkedIn
  • Rec6
  • Reddit
  • Technorati
  • Twitter
  • Blogplay
  • RSS
  • Yahoo! Bookmarks
  • Yahoo! Buzz

Related posts:

  1. Autenticação com Jboss Seam
  2. Criptografia Triple DES em Java
  3. Como utilizar criptografia em Java
  4. Gerando arquivos PDF a partir de sua aplicação Java
  5. Dicas para Struts 1.x