对模拟对象进行存根不起作用

时间:2013-06-30 05:10:32

标签: spock

我有一个工厂类carfactory,我创建了一个模拟对象。

def mockCar = Mock(Car)
def mockFactory = Mock(CarFactory)
this.mockCar.getDoors(_)   >> ["a","b"]
this.mockFactory.getCar(_) >> this.mockCar

现在,当测试运行时,我从工厂获得了一个mockCar对象,但没有从getDoors(_)调用中获取。 我得到一个空集。

1 个答案:

答案 0 :(得分:3)

this.的使用不正确,因为mockCarmockFactory是局部变量,而不是实例字段。修复此问题后,显示的代码工作正常(我只是在Spock Web Console中进行了双重检查)。如果你回到一个空集,很可能你的真实代码有另一个问题没有在这里显示。