我为什么要喜欢存根而不喜欢嘲笑呢?

本文关键字:不喜欢 为什么 喜欢 存根 | 更新日期: 2023-09-27 18:03:54

我经常读到人们应该避免mock而更喜欢存根。

像FakeItEasy和NSubstitute这样的隔离框架使得大多数时候模拟或存根依赖非常容易。这些框架本身并不区分存根或mock,而是将它们统称为Fakes或substitute。据我所知,在《嘲笑》的早期,创建模拟对象非常困难,因为要使用繁琐的Record and Replay机制。但今天似乎没有太大的区别了。

那么为什么我应该喜欢存根而不是mock呢?为什么mock比stub更脆弱?

我为什么要喜欢存根而不喜欢嘲笑呢?

你不应该更喜欢存根而不是mock;相反,您应该为作业选择正确的工具:

命令模拟,查询存根

至少对于最近的模拟工具,没有必要为存根和模拟而烦恼。在实践中,mock和存根在由mock库创建时是一样的。这就是它应该有的样子

使用Java(和c#)可用的mock库。. NET(如果我没弄错的话),您不能"仅仅"创建一个存根。总是得到一个可以验证期望的模拟对象。