Teste Unitário com JUnit

Olá!

Como prometido para meus alunos, neste post vou mostrar um exemplo simples de como fazer teste unitário utilizando o junit. O JUnit é um framework criado por Erich Gamma e Kent Beck com suporte à criação de testes automatizados na linguagem de programação Java.

Não vou entrar muito em detalhes sobre o funcionamento do framework. Recomendo a leitura de:

Teste unitário com JUnit from Edgard Davidson on Vimeo.

Vídeo mostrando como criar uma Suite de Teste

Suite de Teste com JUnit from Edgard Davidson on Vimeo.

Código fonte da classe TipoTrianguloTest

package triangulo;

import junit.framework.TestCase;

/**
 *
 * @author Edgard Davidson
 */
public class TipoTrianguloTest extends TestCase {

    public TipoTrianguloTest(String testName) {
        super(testName);
    }

    /**
     * Test of eTriangulo method, of class TipoTriangulo.
     */
    public void testETriangulo() {
        TipoTriangulo instance = new TipoTriangulo();
        assertTrue(instance.eTriangulo(2, 2, 2));
        assertTrue(instance.eTriangulo(2, 3, 2));
        assertTrue(instance.eTriangulo(4, 3, 5));
        assertFalse(instance.eTriangulo(4, 3, -5));
    }

    /**
     * Test of possuiValoresNulosNeg method, of class TipoTriangulo.
     */
    public void testPossuiValoresNulosNeg() {
        TipoTriangulo instance = new TipoTriangulo();
        assertFalse(instance.possuiValoresNulosNeg(2, 2, 2));
        assertFalse(instance.possuiValoresNulosNeg(2, 3, 2));
        assertFalse(instance.possuiValoresNulosNeg(4, 3, 5));
        assertTrue(instance.possuiValoresNulosNeg(2, 2, -2));
        assertTrue(instance.possuiValoresNulosNeg(2, -3, 2));
        assertTrue(instance.possuiValoresNulosNeg(-4, 3, 5));
    }

    /**
     * Test of obterTextoTipoTriangulo method, of class TipoTriangulo.
     */
    public void testObterTextoTipoTriangulo() {
        TipoTriangulo instance = new TipoTriangulo();
        instance.atribuirLados(2, 2, 2);
        assertEquals("O triângulo é equilátero.", instance.obterTextoTipoTriangulo());

        instance.atribuirLados(2, 3, 2);
        assertEquals("O triângulo é isósceles.", instance.obterTextoTipoTriangulo());

        instance.atribuirLados(4, 3, 5);
        assertEquals("O triângulo é escaleno.", instance.obterTextoTipoTriangulo());

        instance.atribuirLados(4, 3, -5);
        assertEquals("Os valores não formam um triângulo.", instance.obterTextoTipoTriangulo());

        instance.atribuirLados(4, 3, 50);
        assertEquals("Os valores não formam um triângulo.", instance.obterTextoTipoTriangulo());
    }

    /**
     * Test of obterTipoTriangulo method, of class TipoTriangulo.
     */
    public void testObterTipoTriangulo() {
        TipoTriangulo instance = new TipoTriangulo();

        instance.atribuirLados(2, 2, 2);
        assertEquals(TipoTriangulo.EQUILATERO, instance.obterTipoTriangulo());

        instance.atribuirLados(2, 3, 2);
        assertEquals(TipoTriangulo.ISOSCELES, instance.obterTipoTriangulo());

        instance.atribuirLados(4, 3, 5);
        assertEquals(TipoTriangulo.ESCALENO, instance.obterTipoTriangulo());

        instance.atribuirLados(4, 3, -5);
        assertEquals(TipoTriangulo.INEXISTENTE, instance.obterTipoTriangulo());

        instance.atribuirLados(4, 3, 50);
        assertEquals(TipoTriangulo.INEXISTENTE, instance.obterTipoTriangulo());
    }
}

Código fonte da classe suite

package suite;

import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;

/**
 *
 * @author Edgard Davidson
 */
public class Suite extends TestCase {

    public Suite(String testName) {
        super(testName);
    }

    public static Test suite() {
        TestSuite suite = new TestSuite();
        suite.addTestSuite(calculadora.CalculadoraTest.class);
        suite.addTestSuite(triangulo.TipoTrianguloTest.class);
        return suite;
    }
 }

O código fonte inteiro do projeto está disponível aqui.

Compartilhe:
  • Print
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • email
  • PDF
  • RSS
  • Twitter

3 Responses to “Teste Unitário com JUnit”

  1. [Novo Post] Teste Unitário com JUnit – http://edgarddavidson.com/?p=537
    via Twitoaster

  2. [...] Para saber mais sobre teste unitário com JUnit, veja o meu post anterior e assista os vídeos de Teste Unitário com JUnit.. [...]

Leave a Reply

Procurar


Edgard Davidson
nova Profissional especialista em engenharia de software e desenvol- vimento de sistemas, professor universitário, coordenador do curso de pós graduação em Engenharia de Software Centrada em Métodos Ágeis ofertado pela UNA, mestrando em Engenharia Elétrica com ênfase em Engenharia de Software, Especialista em Engenharia de Software, Graduado em Sistemas de Informação. Sou sócio da MÉRITA - ENGENHARIA DE SERVIÇOS E SISTEMAS e criei este blog dedicado a assuntos como: desenvolvimento e engenharia de software, opiniões pessoais sobre assuntos pertinentes. Os posts deste blog são escritos sem muito rigor científicos e expressam opiniões exclusivamente minhas

Mérita - Engenharia de Serviços e Sistemas

Curso de Pós Graduação em Engenharia de Software Centrada em Métodos Ágeis

Categorias

Arquivo

Tags

Pagea