java verify_java – 什么时候使用Mockito.verify()?

这是一个奇妙的问题。 1。

如果A类的契约包含它调用C类型对象的方法B的事实,那么你应该通过做一个C类型的模拟来测试这个,并且验证方法B被调用。

这意味着A类的契约有足够的细节,它谈论类型C(它可能是一个接口或类)。所以是的,我们谈论的规范水平,超越了只是“系统需求”,并有一些方法来描述实现。

这对于单元测试是正常的。当你进行单元测试时,你需要确保每个单元都在做正确的事情,这通常包括它与其他单元的交互。这里的“单位”可能意味着应用程序的类或更大的子集。

更新:

我觉得这不仅仅适用于验证,而且也适用于桩。一旦你存根一个协作者类的方法,你的单元测试在某种意义上已经成为依赖于实现。这是单位测试的本质是这样的。由于Mockito同样关心验证,因为你使用Mockito意味着你要跨越这种依赖。

根据我的经验,如果我改变一个类的实现,我经常不得不改变其单元测试的实现匹配。通常情况下,我不需要改变类的单元测试的库存;除非当然,改变的原因是存在一个我以前没有测试的条件。

所以这是单元测试。一个没有受到这种对协作者类使用方式的依赖的测试实际上是一个子系统测试或集成测试。当然,这些也经常用JUnit写,并且经常涉及使用嘲笑。在我看来,“JUnit”是一个可怕的名字,对于一个产品,让我们生产所有不同类型的测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值