Olá, participo de um projeto que possui cenários extremamente complexos, por exemplo é necessário:
- Cadastrar uma empresa (que pode ser de vários tipos)
- Cadastrar os produtos (que possuem uma infinidade de configurações e mini cadastros)
- Cadastrar os clientes (que possuem uma série de cadastros filhos)
- Para enfim lançar a nota, que tem uma gama gigante de mini cadastros dentro.
Fora que para subir um banco limpo é necessário rodar uma série de scripts que demandam tempo. Tornando o tempo de teste ou mesmo para criação dos mesmo um tanto quanto oneroso. Criar um script para limpar também é complexo dada a gigantesca quantidade de relacionamento entre tabelas.
Estou pensando em criar um banco "semi limpo" com alguns registros pré cadastrados que seriam usados nos testes de nota e etc. Esse seria um caminho válido ou existem formas mais simples?
Até considerei tentar algo com Docker para facilitar, dai subiria o container já com o banco semi pronto dentro, rodava os testes e depois matava.
Que sugestões vcs possuem?
PS.: Hoje o projeto possui basicamente a seguinte arquitetura:
- Server: Wildfly 10
- Java 8
- JSF + JPA
- Banco: Postgres