我要为名为UsuarioController的控制器进行spock集成测试。在测试integratiion类中,我定义了一个名为usuarioController的变量,当我执行测试时,变量包含null。 Grails不会自动注入它。
我在foros中找到了这个问题,我只读了一条评论说grails无法在集成测试中自动注入控制器类。
是真的吗?即使是最新版本的Grails,这是真的吗?
(我现在正在使用Grails版本2.4.5)
提前很多
答案 0 :(得分:0)
我不确定最新的Grails版本(我目前仍在使用Grails 2.2.2)
您必须在setup()方法中自己实例化控制器:
def controller
void setup() {
controller = new FoobarController()
}
但请注意,(与单元测试相比)FoobarController中定义的所有服务都将自动注入控制器实例!