Moq 中的单元测试 Mock/Stub 定义

2024-01-20

我所得到的关于单元测试的任何阅读或建议总是表明模拟和存根的定义之间存在明显的差异。我目前对这些定义的理解如下

Mock:一个假的,将用于 您的测试做出最终断言

存根:一个假的,将用于 你的测试是为了隔离依赖关系,但是 不被断言

然而,Moq 似乎只允许创建 Mock。框架中的 Stub 命名空间似乎已被弃用,建议使用 Mock.SetupXXX。

我对此的理解是否遗漏了一些东西?或者是否存在一种普遍的理解,即模拟对象实际上只能用作存根?

也许我很迂腐,只是我一直发现编程语言非常严格,并且更喜欢正确使用它,特别是当其他开发人员可能接管一个项目时。


根据起订量项目现场 https://github.com/Moq/moq4,最小起订量提供:

通过简单的操作对模拟行为进行精细控制模拟行为 http://www.nudoq.org/#!/Packages/Moq/Moq/MockBehavior枚举(无需了解模拟、存根、假、动态模拟等之间的理论区别是什么)

模拟、存根等之间缺乏区别是经过深思熟虑的设计决定;我个人更喜欢这样的设计决策。如果我需要一个true嘲笑,我打电话Verify()在上面。如果没有的话就没有Verify()。我喜欢这种简单性,而且我没有发现自己错过了两者之间的区别mock and stub.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Moq 中的单元测试 Mock/Stub 定义 的相关文章

随机推荐