【发布时间】:2014-03-27 08:31:22
【问题描述】:
在我们的 Spock 测试中,我们想要检查是否选择了我们软件中的正确路径。但是我们不想测试被调用方法的功能(这是在单独的测试中完成的)
def "Test"() {
setup:
service.metaClass.innerMethod = { -> return null }
when:
service.doSomething("notexisting@test.com")
then:
1 * service.innerMethod(*_)
}
这个测试总是失败,因为innerMethod中的代码被调用并且innerMethod中方法调用的调用被计算在内,而不是方法innerMethod的调用被计算在内
| Too few invocations for:
1 * service.innerMethod(*_) (0 invocations)
Unmatched invocations (ordered by similarity):
1 * secondService.doSomething()
我怎样才能调用 innerMethod 并模拟整个函数?
【问题讨论】: