如何验证方法调用并忽略EasyMock中的返回值?

时间:2009-02-25 22:49:21

标签: java junit easymock

我在尝试做一件简单的事情时感到沮丧 - 我想在模拟对象上调用一个方法而不检查它的返回值。我只想检查它是否使用正确的参数调用。

示例:

MyInterface mockObject = createMock(MyInterface.class);
SomeObject param = new SomeObject();

/* the write object is not void and returns an instance of FooOjbect.
 * I want to ignore everything to do with FooObject - I do not care what
 * it is because I do not store its value. How do I do this? */
mockObject.write(param);

replay(mockObject);

someOtherObjectThatCallsAboveMockObject.process(mockObject);

verify(mockObject);

那里有EasyMock专家吗?我并不关心我正在调用的基础方法的设计而不是存储返回值,因为实际的实现来自第三方网络库(Apache Mina),我无法控制API。 / p>

编辑: 结论时间过了一段时间

我放弃了EasyMock,因为它并不容易,只去了Mockito

1 个答案:

答案 0 :(得分:3)

而不是

mockObject.write(param)

EasyMock.expect( mockObject.write(param) ).andReturn( /* return value here */ );

您仍需要返回代码值才能正确,但您可以在测试中进一步忽略该值。