Escolar Documentos
Profissional Documentos
Cultura Documentos
2022
1 Teste Unitário
Outro fato que justifica a automação de testes unitário, é que esses testes devem ser
repetidos todas as vezes que um software for alterado, ou quando uma nova versão for
distribuída, garantindo a integridade do código, pela facilidade de repetir sua execução.
O objetivo é ter certeza que o teste diz respeito apenas à unidade em teste no momento, e
não tenha interferência com funcionalidades que pertençam a outras unidades.
Se o teste está sendo produzido para uma unidade (método ou classe), que essa unidade
não sofra interferência de outros recursos externos usados na sua execução, visto que, se o
teste falhar não será possível saber facilmente se a falha é da unidade em questão ou se é de
algum recurso externo.
Outra questão é que se algo mudar no sistema e provocar uma quebra em testes previamente
estabelecidos, o ideal é que a quebra se dê apenas na unidade que foi feita a alteração, não
provocando efeitos colaterais.
artifactId = junit02
version = 1.0-SNAPSHOT
O primeiro cenário testa o método getArea() quando os dados estão corretos e um valor de
área válido será retornado.
O segundo cenário testa o método getArea() com dado inconsistente, cujo retorno é uma
exceção.
Prof. Evandro César Freiberger (IFMT) Testes 2022 9 / 14
Testes Unitários (1)
Classe de negócio Cilindro
1 package b r . i f m t . cba . negocio ;
2
3 public class C i li n d r o {
4
5 private Circulo circulo ;
6 p r i v a t e double a l t u r a ;
7
8 p u b l i c C i l i n d r o ( C i r c u l o c i r c u l o , double a l t u r a ) {
9 this . circulo = circulo ;
10 this . altura = altura ;
11 }
12
13 public Circulo getCirculo ( ) {
14 return circulo ;
15 }
16
17 public void setCirculo ( Circulo c i r c u l o ) {
18 this . circulo = circulo ;
19 }
20
21 p u b l i c double g e t A l t u r a ( ) {
22 return altura ;
23 }
24 p u b l i c v o i d s e t A l t u r a ( double a l t u r a ) {
25 this . altura = altura ;
26 }
27
28 p u b l i c double getArea ( ) throws RuntimeException {
29
Considerando o mesmo raciocínio da classe Circulo, podemos decidir testar cenários que
envolvam o método getArea().
O primeiro cenário testa o método getArea() quando os dados estão corretos e um valor de
área válido será retornado.
O segundo cenário testa o método getArea() com dado inconsistente, cujo retorno é uma
exceção.