02. Gerenciamento de Estado de Banco de Dados em Testes
Ao concluirmos todas as aulas deste tópico, nós:
- Compreenderemos como inicializar nosso banco de dados relacional em um estado conhecido e determinístico antes da execução de cada teste de integração com
@Sql. - Saberemos quais dados incluir (e quais omitir) ao popular cenários de teste no banco de dados.
- Saberemos como escrever asserções limpas e precisas para validar o estado das tabelas após operações de mutação.
- Dominaremos boas práticas para sincronizar constantes do código-fonte Kotlin com nossos scripts SQL.
Conteúdo
-
Introdução à Preparação de Datasets de Banco de Dados
Conheça a estrutura do banco de dados da nossa aplicação de exemplo e aprenda como preparar datasets determinísticos (com DbUnit / Spring @Sql) para inserir dados e verificar o estado do banco.
-
Boas Práticas: Inserindo Dados Conhecidos no Banco
Aprenda a evitar os três erros mais comuns ao criar datasets de teste (XML ou SQL) e descubra como dividir seu banco de dados em seções lógicas baseadas em Agregados DDD.
-
Boas Práticas: Asserções para o Estado do Banco
Descubra por que não devemos verificar todas as tabelas e colunas do banco em um único teste e aprenda a escrever asserções de estado de banco focadas em um único conceito lógico.
-
Boas Práticas: Sincronizando Constantes e SQL
Aprenda por que não devemos espalhar constantes mágicas pelas classes de teste e como criar objetos de constantes hierárquicos em Kotlin (Test Data Dictionary / DSL) sincronizados com seus datasets SQL/XML.