para o Controllers o ideal é utilizar testes de integração
Creio que é um argumento válido dentro que no controller utilizamos vários componentes, mas quando temos que testar os próprios métodos dos controladores creio que seja válido testá-los unitariamente.
seu controller está utilizando algumas tarefas complexas? será que parte disso não deveria estar num Service?
[quote="vinci"]seu controller está utilizando algumas tarefas complexas? será que parte disso não deveria estar num Service?[/quote]
Não é nenhuma tarefa complicada ^^. O problema é que o meu domínio tem algumas dependências, ou seja, o domínio se relaciona com outros, e isto é o que está atrapalhando o teste.
ainda está me parecendo rasoável implementar um Service.
até por que me parece que você vai querer alguma configuração transacional para salvar todo o domínio suas dependências...
Testar o controller, em tese, significa testar os redirecionamentos
[quote="vinci"]ainda está me parecendo rasoável implementar um Service.
até por que me parece que você vai querer alguma configuração transacional para salvar todo o domínio suas dependências...
Testar o controller, em tese, significa testar os redirecionamentos[/quote]
Todo Domain tem uma dependência, ou seja, é ligada a outra classe, por exemplo suponha que em seu modelo vc esteja querendo testar o domain Casa, mas para a casa ser salva ela necessita ter um dono, ou seja, é necessário que uma pessoa exista, o meu problema está nessas dependências quando salva. Não existe algum mock para isso?
Relacionamentos bidirecionais... eu fujo disso com força
Insisto que o Service é o cara ideal para realizar validações como esta de verificar se a pessoa existe.
Dado que seu Service está implementado e testado, você pode criar um mock para seu service e testar o Controller.
Mas digamos que eu queira mockar um domain como dependência de outro, é possível?
ainda não fiz isso, mas acredito que o mockFor(domain) deve funfar...
<!-- m --><a class="postlink" href="http://www.grails.org/Testing+Plugin">http://www.grails.org/Testing+Plugin</a><!-- m -->
É justamente esse plugin que estou usando. Estou procurando nele uma forma de conseguir mockar as dependencias de um domínio.
A solução é criar na "tora" um método para "mockar", uma vêz criado servirá para todos os testes.
não entendi. Pode mostrar código?