控制器集成测试grails3:服务没有得到注入

问题描述 投票:0回答:4

我升级的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 integration-testing grails-3.0
4个回答
0
投票

使用grails.test.mixin.integration.Integration注释,而不是grails.test.spock.IntegrationSpec类扩展。

并移动集成测试src/integration-test/groovy


0
投票

我从Grails的2.5.1升级到3.2.4。我的一个集成测试找不到我与高清xxxService注射服务。我列入名单@Mock服务。 XxxServiceIntegrationSpec延伸规格。

我知道这并不完全涉及到测试控制器,但也许它可以帮助?


0
投票

我们有整合控制器的dozones在我们老的Grails应用2.X。当我们迁移到Grails的3,我们想保持它,不能把他们从头开始编写功能测试。

在这里,我的博客上讲述它Integration testing controllers with Grails 3

基本步骤是 - 设置模拟请求和响应 - 在测试的结尾其余模拟请求和响应 - 设定电流控制器名称

看到上面的博客文章一个完整的例子。

希望能帮助到你。


0
投票

对于任何人还在寻找一个解决这个(我有同样的问题),我发现这个例子非常有用:https://github.com/albertodeavila/testingGrails3

© www.soinside.com 2019 - 2024. All rights reserved.