参数返回 void 的 EasyMock 方法

发布于 2024-09-24 12:20:45 字数 406 浏览 5 评论 0原文

我的单元测试框架使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

緦唸λ蓇 2024-10-01 12:20:45

您可以使用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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文