在Spock中调用模拟时是否创建了新的返回对象?

时间:2017-01-05 17:39:36

标签: unit-testing grails groovy spock

当我尝试调用mock时,我们注意到它每次都返回一个不同的对象。

List returnedList = []
Service service = Mock()
service.method() >> returnedList

println System.identityHashCode(service.method())
println System.identityHashCode(service.method())
println System.identityHashCode(service.method())

输出:

710903845
1709394654
759720212

有没有办法让它只返回同一个对象?

1 个答案:

答案 0 :(得分:0)

这是非常有趣的行为。你能提供服务类代码吗? 如果方法StringService#method()

,则可以解释此类结果

在非最终案例中,测试波纹管为绿色。我使用spock 1.0-groovy2.4。

final