Skip to content

poo29004/teste-de-unidade-junit5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Testes de unidade com JUnit 5

Nesse repositório tem um exemplo de como fazer testes de unidade com o framework de testes JUnit Jupiter.

Na classe App é ilustrado como criar um objeto gerador de números pseudoaleatórios com semente fixa. O uso da semente fixa pode ser útil para executar alguns tipos de teste, mas não foi usada nos testes de unidade deste repositório.

A classe UtilitariaMatematica apresenta um método para verificar se o número passado como parâmetro é um número perfeito. Para essa classe foi criado um conjunto de testes de unidade a fim de garantir que a implementação está correta.

A classe Triangulo permite criar objetos para representar um triângulo, bastando para tal informar a dimensão dos três lados do triângulo. Se as dimensões fornecidas para os três lados não formarem um triângulo, então deverá ser criado um triângulo com as seguintes dimensões: (4,3,2). Contudo, não foi implementada a lógica nessa classe para garantir a regra, deixando aqui a oportunidade para você praticar e escrever a lógica que irá passar nos testes de unidade escritos na classe TrianguloTests.

A classe TrianguloTests possui uma implementação de todos os testes de unidade para garantir que a regra apresentada acima seja respeitada. Nessa classe é apresentado também um exemplo de como escrever testes parametrizados, algo que facilita quando se deseja testar vários valores.

Executando os testes de unidade

Execute a tarefa ./gradlew test e um relatório em HTML será colocado no subdiretório build/reports/tests/test. Se algum teste não passar, então o gradle lançará um aviso após a execução da tarefa. Por exemplo:

> Task :test FAILED

...

TrianguloTests > ladosComDimensaoZero() FAILED
    org.opentest4j.AssertionFailedError at TrianguloTests.java:23

14 tests completed, 7 failed

FAILURE: Build failed with an exception.