|
May 25, 2016
|

Testes Automatizados com JUnit

Olá! No último post, aprendemos como é fácil e simples a criação de testes automatizados. Criamos um cenário e o executamos, mas sempre precisávamos fazer uma validação visual, ou seja, era preciso ficar olhando para a saída para ver se tudo estava correspondendo com o que esperávamos. Isso não é legal, é inviável você ter que validar visualmente uma bateria com dezenas de testes automatizados, pois existe um risco de você se perder nas suas validações e acabar deixando passar testes falsos-positivos, ou seja, testes que você acha que está passando, mas na verdade não está.

Além disso, validar testes visualmente não permite a integração com ferramentas de build como Maven, Ant ou Gradle e ferramentas de integração como Jenkis CI ou Travis CI.
Com essa necessidade, foi criado o framework JUnit, que atualmente está em sua 4ª versão. Com ele é possível automatizar as validações dos testes e dessa forma também integrá-lo às suas ferramentas de build, através de plug-ins. O JUnit também gera reports do resultado dos testes, indicando quais falharam.

Então, como usar o JUnit?

Vamos a um exemplo através do cenário “o carrinho deve conter produtos”.
O código para a automatização do teste para esse cenário , onde JUnit informa se o teste passou ou não, é mostrado a seguir:


1 @Test
2 public void deveTerProdutosNoCarrinho(){
3 List carrinho = new ArrayList<>();
4 Produto p1 = new Produto(“Tenis”,156.0);
5 Produto p2 = new Produto(“Calça”,89.9);
6 Produto p3 = new Produto(“Blusa”,39.9);
7 carrinho.add(p1);
8 carrinho.add(p2);
9 carrinho.add(p3);
10
11 //Classe Assert, do pacote org.junit, cujo qual tem vários métodos de validação
12 Assert.assertEquals(carrinho.size(),3);
13}

Agora vamos entender um pouco deste código.
Na linha 1 temos a anotação @Test; o JUnit identifica através dessa anotação os métodos que serão usados para realizar testes.
Na linha 2 temos a assinatura do método. Não existe uma nomenclatura oficial para o nome do método, porém é uma boa pratica o nome começar com “deve” (should), seguido do que ele está se propondo a testar. Dessa forma, o método irá dizer o que ele faz sem que você precise abri-lo. O método também não pode ser estático, deve ser público e não deve ter nenhum argumento.
Nas linhas 3 a 9 temos a criação do cenário, e na linha 12, temos a validação do nosso cenário.
Existem diversos métodos na classe Assert para fazer a validação dos dados, usando tipos primitivos e objetos.

That’s All Folks

Esta foi uma pequena introdução ao JUnit, para que você comece a criar testes automatizados em seus projetos.

Comments

More articles

Afinal, é possível criar app sem saber programação?

November 16, 2018

Como transformar um website em aplicativo?

November 14, 2018

Aplicativos: O que conhecer antes de criar um

November 13, 2018

É possível instalar aplicativos Android no Windows?

November 9, 2018