03. Configurando Nossos Testes de Integração
Ao concluirmos todas as aulas deste tópico, nós:
- Saberemos como configurar o
ApplicationContextdos nossos testes de integração com@SpringBootTeste slices do Spring Boot 4. - Saberemos como integrar a execução de scripts
@Sqlao Spring TestContext Framework. - Compreenderemos como provisionar um banco PostgreSQL real em Docker usando Testcontainers 2.0.5 e
@ServiceConnection. - Saberemos como configurar o
MockMvcbaseado no contexto completo da aplicação (@AutoConfigureMockMvc), customizar beans com@TestConfiguratione integrar o filtro de segurança do Spring Security.
Conteúdo
-
Configurando o ApplicationContext com @SpringBootTest
Conheça os três pilares do Spring TestContext Framework (injeção de dependências, cache de contexto e gerenciamento de transações) e aprenda a configurar o ApplicationContext com @ContextConfiguration e @SpringBootTest no JUnit 6.
-
Integrando Inicialização de Dados com o TestContext
Aprenda a integrar o gerenciamento de datasets (com Spring Test DbUnit e com o SqlScriptsTestExecutionListener nativo do Spring) ao ciclo de vida do TestContext Framework.
-
Customizando Conexões com @ServiceConnection e Testcontainers
Aprenda a criar um ReplacementDataSetLoader customizado, sobrescrever as configurações padrão do DbUnit (DatabaseConfigBean) e conectar seu DataSource a um banco PostgreSQL real usando Testcontainers 2.0 e @ServiceConnection no Spring Boot 4.1.
-
Configurando @AutoConfigureMockMvc em Testes de Integração
Aprenda a configurar o Spring MVC Test framework (MockMvc e MockMvcTester) em testes de integração completos usando WebApplicationContext no Spring Framework e @AutoConfigureMockMvc no Spring Boot 4.
-
Customizando o Contexto com @TestConfiguration e Profiles
Aprenda por que e como customizar o ApplicationContext nos testes de integração usando arquivos de propriedades por perfil, beans específicos de ambiente (@Profile e @TestConfiguration) e @ActiveProfiles.
-
Integrando o Spring Security ao MockMvc
Aprenda a adicionar o spring-security-test ao build e integrar o filtro de segurança do Spring Security e o WithSecurityContextTestExecutionListener ao MockMvc nos testes de integração.