我升级的Grails应用程序从2.4.3到3.0.8。有很多的被使用grails.util.GrailsWebUtil.bindMockWebRequest(grailsApplication.mainContext)
由controller.method
调用以下集成测试。但我发现,grails.util.GrailsWebUtil
不含bindMockWebRequest
方法了,好像它已被替换为grails.util.GrailsWebMockUtil
,好的,但在控制器中声明的所有服务都没有得到注入类。我可以用grails.test.spock.IntegrationSpec
但这个类也已经从grails3删除。还有就是使用控制器的集成测试功能测试suggestion,但这种方法不适合我的工作,我不渴望实现所有这些测试,功能性,或手动依赖注入控制器的情况下,我该如何解决?
使用grails.test.mixin.integration.Integration
注释,而不是grails.test.spock.IntegrationSpec
类扩展。
并移动集成测试src/integration-test/groovy
。
我从Grails的2.5.1升级到3.2.4。我的一个集成测试找不到我与高清xxxService注射服务。我列入名单@Mock服务。 XxxServiceIntegrationSpec延伸规格。
我知道这并不完全涉及到测试控制器,但也许它可以帮助?
我们有整合控制器的dozones在我们老的Grails应用2.X。当我们迁移到Grails的3,我们想保持它,不能把他们从头开始编写功能测试。
在这里,我的博客上讲述它Integration testing controllers with Grails 3
基本步骤是 - 设置模拟请求和响应 - 在测试的结尾其余模拟请求和响应 - 设定电流控制器名称
看到上面的博客文章一个完整的例子。
希望能帮助到你。
对于任何人还在寻找一个解决这个(我有同样的问题),我发现这个例子非常有用:https://github.com/albertodeavila/testingGrails3