我有一个工厂类汽车工厂,我创建了一个模拟对象。
def mockCar = Mock(Car)
def mockFactory = Mock(CarFactory)
this.mockCar.getDoors(_) >> ["a","b"]
this.mockFactory.getCar(_) >> this.mockCar
现在,当测试运行时,我从工厂获得了一个 mockCar 对象,而不是 getDoors(_) 调用中的集合。我得到一个空集。
我有一个工厂类汽车工厂,我创建了一个模拟对象。
def mockCar = Mock(Car)
def mockFactory = Mock(CarFactory)
this.mockCar.getDoors(_) >> ["a","b"]
this.mockFactory.getCar(_) >> this.mockCar
现在,当测试运行时,我从工厂获得了一个 mockCar 对象,而不是 getDoors(_) 调用中的集合。我得到一个空集。
的用法this.
不正确,因为mockCar
andmockFactory
是局部变量,而不是实例字段。修复此问题后,显示的代码可以正常工作(我只是在Spock Web Console中仔细检查过)。如果你返回一个空集,那么你的真实代码很可能还有另一个问题,这里没有显示。