Geração de dados para testes
24/12/2015 15:52
1
Que estratégias vocês utilizam para gerar e persistir dados de domínio necessarios para a execução de testes de unidade e integração, em Grails 3.x?
A princípio eu mesmo instanciava cada objeto necessario, preenchia os atributos necessarios e dava save. O problema desta abordagem é que quando você faz alguma alteração no domínio (adicionando mais um atributo com required=true por exemplo), é bem comum quebrar vários testes que não tem nada a ver com aquele atributo.
Então conheci o plugin Build Test Data, a idéia dele é ótima: Você faz ClasseDeDominio.build(), e ele automaticamente preenche todos os atributos com valores quaisquer (inclusive ele procura analisar as constraints daquela classe para produzir valores válidos) e dá save(). Se você precisa de valores específicos em determinados campos, é só passar como parametro no build().

Acontece que ele não me parece muito estável no Grails 3, de fato a versão dele para grails 3 saiu há pouco tempo e inclusive vi numas discussões que o autor original do projeto se desligou do projeto disposto a iniciar um projeto equivalente do zero.
Tags: testes,dados


0
Oi Magno,

a estratégia que costumo adotar é a construção de um serviço apenas para a geração destas informações, que são usadas como base para a execução de alguns testes ou mesmo para a montagem do ambiente de desenvolvimento.
Normalmente este serviço nasce como algo bem simples (tosco mesmo): ele apenas verifica o ambiente em que a aplicação está executando e, de acordo com o estado, gera os dados necessários.
Conforme o sistema evolui, este serviço normalmente evolui junto: algo que costumo fazer é, por exemplo, armazenar informações em JSON ou XML, que acabam formando a base de dados usada para montar os ambientes de testes integrados que executo.

Há muito tempo atrás, me lembro que existia para Java uma biblioteca chamada DBUnit. Se não me engano ela servia para isto também. Hoje não sei como está o estado deste projeto, mas acredito que você não teria problemas para usá-lo em uma aplicação Grails.


1
Fixture Factory é show

http://blog.caelum.com.br/criando-cenarios-de-teste-com-fixture-factory/



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto