我在尝试做一件简单的事情时感到沮丧 - 我想在模拟对象上调用一个方法而不检查它的返回值。我只想检查它是否使用正确的参数调用。
示例:
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。
答案 0 :(得分:3)
而不是
mockObject.write(param)
写
EasyMock.expect( mockObject.write(param) ).andReturn( /* return value here */ );
您仍需要返回代码值才能正确,但您可以在测试中进一步忽略该值。