【发布时间】:2017-11-25 13:10:20
【问题描述】:
我最近升级到 grails 3.3.1 并意识到 grails.test.mixin.Mock 已被拉到单独的项目中,根据我的理解 org.grails:grails-test-mixins:3.3.0,该项目只是为了向后兼容而构建的。
我一直在使用@Mock 注释来模拟注入到被测 groovy/src 类的 Grails 服务。在这种情况下,模拟协作服务的策略是什么? Spock 有什么我可以使用的东西还是我应该回退到 grails-test-mixins 插件?
被测类: 导入gra
ils.util.Holders
import grails.util.Holders
class SomeUtilClass {
static MyService myService = Holders.grailsApplication.mainContext.getBean("myService")
static String myMethod() {
// here is some code
return myService.myServiceMethod()
}
}
我的测试规范(Grails 3.2.1):
import grails.test.mixin.Mock
import spock.lang.Specification
@Mock([MyService])
class ValidatorUtilsTest extends Specification {
def 'my test'() {
when:
def result = SomeUtilClass.myMethod()
then:
result == "result"
}
}
【问题讨论】:
标签: grails spock grails-3.3