Mock do construtor de Date ou da classe Environment do Grails causa falha na execução de testes via grails test-app

Posted About 11 years ago. Visible to the public.

Passei pela seguinte experiência. Mockei (usando Gmock) o construtor default de Date, e então começou a dar um erro no final da execução do test-app. O erro é:

Error executing script TestApp: null

O mesmo erro ocorreu quando a chamada para obter o ambiente corrente (Environment.getCurrent()) foi mockada.

Para solucionar o problema eu usei um padrão, não sei o nome e nem de onde vem, mas é o seguinte:

//No lugar de usar a class date no codigo
Date data = new Date()
// Crie uma classe utilitária para retornar esse objeto
Date data = UtilitarioDeData.agora()
// Então mocke o UtilitárioDeData para retornar a data que deseja

Para o Environment a solução acima também é válida.

Fred Policarpo
Last edit
About 11 years ago
Posted by Fred Policarpo to ZeroGlosa (2013-02-27 20:50)