Introdução ao TDD e Testes Unitários Automatizados
Java - Spring Boot - JUnit5
Conteúdo
Pirâmide de Testes
Alguns tipos de testes
Alguns tipos de testes
Em relação a execução:
TDD - Test Driven Development
TDD - Test Driven Development
TDD pode ser aplicada a vários tipos de testes, mas também é muito útil para os testes unitários.
TDD - Test Driven Development.
1 - Entenda bem o requisito a ser construído. Pense nas classes/interfaces. Crie os Dto’s, Models, Entities e classes de apoio.
2 - Crie a classe de teste; todos os métodos devem falhar.
3 - Implemente os métodos da classe a ser testada.
4 - Rode os testes novament, até que todos passem.
5 - Refatore.(Clean Code)
6 - Rode os testes...
TDD - Test Driven Development.
TDD - Test Driven Development com Unit Tests.
Lembre-se: somente a classe em questão deve ser testada, todas as suas dependências devem ser simuladas (mocks).
TDD - Dicas para os Unit Tests
TDD - Dicas para os Unit Tests
Coloque nomes claros para os métodos de testes, indicando o método que será testado e o que deve acontecer:
TDD - Dicas para os Unit Tests
TDD - Frameworks
JUnit 5
O SpringBoot 2.2.0 já vem com o JUnit5, Mockito e Hamcrest. (Spring boot starter test)
JUnit 5
Algumas anotações:
@Test = define um método de teste.
@BeforeEach = anota um método para rodar antes de cada teste.
@AfterEach = anota um método para executar depois de cada teste.
@BeforeAll = anota um método estático para ser executada antes da instanciação da classe.
@AfterAll = anota um método estático para ser executada depois da execução de todos os testes
@DisplayName = permite descrever o teste em alto nível.
@Mock = define um mock, mas não o inicializa. Para isso, use: MockitoAnnotations.openMocks(this);
JUnit 5
@TestInstance([Lifecicle])
Esta anotação define o cliclo de vida da classe de teste:
Execução dos testes
Aplicação de Exemplo: Account-Api
Aplicação de Exemplo: Account-Api
Aplicação de Exemplo: Account-Api
Aplicação de Exemplo: Account-Api
Aplicação de Exemplo: Account-Api
Aplicação de Exemplo: AccountService
Aplicação de Exemplo: AccountService
Aplicação de Exemplo: AccountService
Aplicação de Exemplo:teste do serviço
Teste da operação de Empréstimo
Teste da operação de Empréstimo
Teste da operação de Empréstimo - service
Obrigado!