我们有Foo和Bar类:
class Foo {
String x
}
class Bar {
void call(Foo foo, String x) {
foo.x = x
}
}
在单元测试中,我们这样做:
void 'test' {
setup:
mockFoo = Mock(Foo)
when:
new Bar().call(mockFoo, 'test')
then:
1 * mockFoo.setX('test')
}
但是在结果中,我们观察到测试因“调用次数太少”而失败,并显示了代替了嘲笑了嘲笑嘲讽(fockFoo.setProperty('x','test'))。此问题发生在CI环境中。在本地计算机上,一切正常。将测试更改为setProperty('x', 'test')
会导致本地失败。有人可以解释如何处理此类问题吗?
我最近在Groovy 3中修复了该错误。Groovy 2.4仍然具有使用setProperty的旧行为。
此外,indy与default可能会在指令选择上有所不同。