加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 仙人掌与模拟对象(jMock,Easy mock)

发布时间:2020-12-15 08:33:14 所属栏目:Java 来源:网络整理
导读:我对Cactus和模拟对象(jMock,Easy mock)感到困惑. 有谁可以回答以下问题? 何时使用仙人掌进行测试? 什么时候不用仙人掌进行测试? 何时使用模拟对象进行测试? 何时不使用模拟对象进行测试? 解决方法 好吧,这个问题没有很客观的答案,但是模拟对象是关于测
我对Cactus和模拟对象(jMock,Easy mock)感到困惑.

有谁可以回答以下问题?

>何时使用仙人掌进行测试?
>什么时候不用仙人掌进行测试?
>何时使用模拟对象进行测试?
>何时不使用模拟对象进行测试?

解决方法

好吧,这个问题没有很客观的答案,但是模拟对象是关于测试代码的行为,但是无法告诉你是否正确地与容器交互.

Cactus在容器中运行你的代码,所以它实际上更像是一个集成测试,但它告诉你的是你的代码实际上正确地与容器交互(它发送的是合法的,它返回的是真实的).

总而言之,Mock告诉你,如果你想要行为x,你就会得到行为x. Cactus告诉您行为x实际上在容器中获得了预期结果.

您使用哪一个很大程度上取决于您尝试通过测试完成的任务.如果你想做更多的TDD,模拟方法就是你要走的路.你做了单独的原型设计,看看你是否对容器如何编写代码有了足够的了解,然后进行单元测试,然后进行集成测试/验收测试以确保一切正常.

但是,如果您正在尝试进行更多传统的单元测试,那么您尝试使用不同的值来尝试测试边缘情况和行为,那么使用模拟进行测试并不会告诉您太多,因为您的很大一部分容器丢失了.

我目前更喜欢Mock方法,但是如果我要回到Cactus,那么测试容器的不变量会更多,这样如果我们升级容器,我们就知道容器的工作方式没有什么重要的改变会影响我们的码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读