Grails测试集成,控制器注入

时间:2015-11-03 11:28:10

标签: controller integration code-injection

我要为名为UsuarioController的控制器进行spock集成测试。在测试integratiion类中,我定义了一个名为usuarioController的变量,当我执行测试时,变量包含null。 Grails不会自动注入它。

我在foros中找到了这个问题,我只读了一条评论说grails无法在集成测试中自动注入控制器类。

是真的吗?即使是最新版本的Grails,这是真的吗?

(我现在正在使用Grails版本2.4.5)

提前很多

1 个答案:

答案 0 :(得分:0)

我不确定最新的Grails版本(我目前仍在使用Grails 2.2.2)

您必须在setup()方法中自己实例化控制器:

def controller

void setup() {
   controller = new FoobarController()
}

但请注意,(与单元测试相比)FoobarController中定义的所有服务都将自动注入控制器实例!