07. Escrevendo Testes Unitários para Aplicações Web Spring
Ao concluirmos todas as aulas deste tópico, nós:
- Compreenderemos a arquitetura do Spring MVC Test framework (
MockMvceMockMvcTester) e como configurar nossos testes unitários em modo standalone (MockMvcBuilders.standaloneSetup). - Saberemos como escrever testes unitários para controladores web tradicionais que renderizam views, processam formulários HTML, validam entradas e redirecionam requisições com flash attributes.
- Saberemos como escrever testes unitários para APIs REST que consomem e produzem documentos JSON (
GET,POST,PUT), validando status HTTP, cabeçalhos, payloads com JsonPath e erros de validação.
Conteúdo
-
Introdução ao Spring MVC Test Framework e MockMvcTester
Conheça o Spring MVC Test Framework, seus componentes principais (MockMvc, MockMvcBuilders, RequestBuilders, ResultMatchers e o moderno MockMvcTester) e como configurar as dependências no Gradle 9 e no Maven.
-
Configurando o Controlador Sob Teste em Modo Standalone
Compreenda por que devemos usar o modo standalone (MockMvcBuilders.standaloneSetup) em testes unitários de controladores Spring MVC e como centralizar componentes auxiliares em uma classe Object Mother.
-
Testes Unitários de Controladores Web: Configuração
Aprenda a selecionar apenas os componentes necessários para testar controladores Spring MVC tradicionais, implemente a classe WebTestConfig e configure o TaskCrudControllerTest em modo standalone.
-
Testes Unitários de Controladores Web: Renderização de Dados
Aprenda a escrever testes unitários para controladores Spring MVC que buscam e renderizam dados: validando status HTTP, nome da view e atributos do Model.
-
Testes Unitários de Controladores Web: Formulários e Validação
Aprenda a submeter formulários HTML, testar erros de validação com Jakarta Bean Validation, verificar redirecionamentos e validar atributos flash com Spring MVC Test e MockK em Kotlin.
-
Testes Unitários de API REST: Configuração Standalone
Aprenda a configurar as dependências de teste (JsonPath, Jackson e Spring MVC Test) e o setup standalone mínimo para testar APIs REST no Spring Boot 4.1 com Kotlin e Gradle 9.
-
Testes Unitários de API REST: Leitura de Dados (GET)
Aprenda a escrever testes unitários para endpoints REST de leitura (GET), validando Content-Type, códigos de status HTTP (200 OK e 404 Not Found) e payloads JSON com expressões JsonPath.
-
Testes Unitários de API REST: Escrita e Validação (POST/PUT)
Aprenda a testar endpoints REST de escrita (POST/PUT), serializando objetos para JSON, verificando erros de validação em qualquer ordem com containsInAnyOrder e validando payloads criados.