【发布时间】:2016-04-13 09:37:16
【问题描述】:
我有一个集成测试,有时我想模拟服务方法的返回。但是,我已经看到,一旦我模拟了该方法,调用它的后续测试也将使用模拟函数。
这正常吗?如果是这样,我怎样才能测试有时使用模拟函数,有时使用真实实现?
这是我的代码:
MyController {
def someService
def save(){
...
def val = someService.methodToMock()//sometimes want to mock other times, not
...
}
}
MyTest {
def "test 1"(){
...
//I want to mock here
myController.someService.metaClass.methodToMock = { [] }
...
myController.save()
}
def "test 2"(){
...
//I don't want to mock here, however
// it is returning the mocked results
myController.save()
}
}
【问题讨论】:
标签: grails mocking integration-testing