04. Escrevendo Testes de Integração para Aplicações Web Spring
Ao concluirmos todas as aulas deste tópico, nós:
- Compreenderemos como inicializar cenários de dados e evitar colisões de sequences/IDs no PostgreSQL antes da execução dos nossos testes de integração.
- Saberemos como escrever testes de integração para repositórios Spring Data JPA e consultas customizadas.
- Saberemos como escrever testes de integração para aplicações web tradicionais (renderização de views e submissão de formulários) e APIs REST (leitura e escrita JSON).
- Saberemos como testar regras de autenticação, autorização e proteção CSRF com
@WithMockUser,@WithUserDetailseSecurityMockMvcRequestPostProcessors.
Conteúdo
-
Inicializando Cenários de Dados nos Testes de Integração
Aprenda a inicializar o banco de dados em um estado conhecido antes dos testes de integração e a escrever asserções declarativas sobre os dados persistidos usando DbUnit, @Sql e Spring Boot 4.1 com Kotlin 2.4.
-
Resetando Sequences e IDs no PostgreSQL
Aprenda por que e como resetar colunas de ID auto-incrementadas e sequences no PostgreSQL e H2 antes de cada método de teste de integração no Spring Boot 4.1 com Kotlin 2.4.
-
Testes de Integração para Repositórios Spring Data JPA
Aprenda a planejar datasets enxutos e a escrever testes de integração completos para repositórios customizados do Spring Data JPA utilizando Spring Boot 4.1, Kotlin 2.4 e AssertJ.
-
Testes de Integração Web: Renderização de Dados
Aprenda a escrever testes de integração de ponta a ponta com MockMvc e banco de dados real para controllers Spring MVC que buscam e renderizam dados em views.
-
Testes de Integração Web: Formulários
Aprenda a escrever testes de integração completos para submissão de formulários no Spring MVC, validando erros de Bean Validation, redirecionamentos, flash attributes e estado real do banco de dados.
-
Testes de Integração para API REST: Leitura de Dados
Aprenda a escrever testes de integração de ponta a ponta com MockMvc, JsonPath e banco de dados real para endpoints REST (@RestController) que consultam e retornam documentos JSON.
-
Testes de Integração para API REST: Escrita de Dados
Aprenda a escrever testes de integração completos para endpoints REST (POST, PUT, DELETE) que validam payloads JSON e persistem alterações no banco de dados com Spring Boot 4.1 e Kotlin 2.4.
-
Escrevendo Testes de Segurança com @WithMockUser e CSRF
Aprenda a escrever testes de segurança para controllers Spring MVC e APIs REST usando Spring Security Test, tokens CSRF, @WithMockUser e @WithUserDetails no Spring Boot 4.1 com Kotlin 2.4.