【发布时间】:2012-06-18 21:17:55
【问题描述】:
我使用 EasyMock 构建了一个模拟对象,我试图让该对象在方法调用后返回另一个对象。该方法调用不会引发任何异常,但它返回 null,尽管我确信 andReturn() 调用有一个非 null 参数。
【问题讨论】:
我使用 EasyMock 构建了一个模拟对象,我试图让该对象在方法调用后返回另一个对象。该方法调用不会引发任何异常,但它返回 null,尽管我确信 andReturn() 调用有一个非 null 参数。
【问题讨论】:
这里的问题是我在指定行为后没有在模拟对象上调用replay()。出于某种原因,这导致它允许一些预期的行为,但在预期返回值时总是返回 null。记得在使用模拟之前致电replay()。
【讨论】:
andReturn() 时,这仅适用于模拟方法的一次调用。您可以指定要使用的返回值的调用次数,例如andReturn(...).anyTimes()