2. Test Doubles
São utilizado para simular objetos e instâncias reais
utilizadas dentro de um teste.
▪ @Mock: cria uma instância falsa de uma dependência da
classe que está sendo testada;
▪ @Spy: cria uma instância real de uma dependência de uma
classe que está sendo testada, e permite o uso dos
métodos do mockito nesta instância;
▪ @InjectMock: faz uma instância real da classe que está
sendo testada, e implementa no construtor dela os mocks
de suas dependências;
▪ Stubs: são objetos criados dentro dos testes, possuindo a
configuração necessária para realizar o teste.
3. Testes Unitários
Testam a menor unidade do código, que no caso de orientação
a objetos, é o método.
Usado para verificar se o comportamento do método é o
esperado em todas as situações.
4.
5. Testes de Mutação
“Testing your tests to test that they test what you think they test”
São testes onde são utilizadas diferentes possibilidades para verificar
a resposta dos testes em diferentes situações, com diferentes
valores ou operadores, garantindo a legitimidade do testes.
6.
7.
8. Testes de Integração
Dentro de uma aplicação, há diversos métodos que
utilizam de algum recurso externo (como um banco de
dados) para serem executadas.
Os testes de integração verificam se a integração desse
serviço externo dentro da aplicação funciona conforme o
esperado.
9.
10. Testes de Contrato
Testa o contrato entre um provedor de um endpoint e o
consumidor deste endpoint.
O contrato é a especificação de como aquela interação deve
acontecer, e caso o teste falhe, houve uma quebra no
contrato, algo que não pode acontecer.
11.
12. Testes End-to-End
Teste que verifica cada etapa da aplicação, desde o início ao
fim, simulando o uso de um usuário real que garantindo que
todas as etapas funcionam como esperado.
13.
14. Cobertura de testes
A cobertura de testes é feita para encontrar o que foi testado e o que
ainda não foi testado em uma aplicação..