参数返回 void 的 EasyMock 方法
我的单元测试框架使用 EasyMock.createMock(Interace) 将业务服务组件替换为 Mock 对象。
这些组件在被测试的类中的几层中被访问,因此我不想修改接口定义或被测试的类。
然后,我使用 EasyMock.expect(...) 来驱动协作对象的行为。只要方法不返回 void,这种方法就很有效。
当结果无效时,我该如何驱动行为。 IE。
EasyMock.expect(object.Method( EasyMock.isA(arg1) ).andAnswer( new IAnswer()){
public void anser(){
... do seomething meaningful with arg1...
}).anyTimes();
My unit test framework replaces business service components with Mock objects using EasyMock.createMock(Interace).
These components are accessed several layers down in the class under test so I don't wish to modify either the interface definition nor the class undertest.
I then use EasyMock.expect(...) to drive the behavoir of the collaborating objects. This works great as long as the methods don't return void.
How can I drive the behavior when there are void results. Ie.
EasyMock.expect(object.Method( EasyMock.isA(arg1) ).andAnswer( new IAnswer()){
public void anser(){
... do seomething meaningful with arg1...
}).anyTimes();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
expectLastCall().andReturn("something");
。你没有提到你正在使用哪个版本的 EasyMock,但我认为这个功能已经存在了一段时间了。
请阅读文档了解更多信息。
You can use
expectLastCall().andReturn("something");
.You don't mention which version of EasyMock you're using, but I think this feature has been around for a while anyway.
Read more in the documentation.