C# - 单元测试,模拟?

时间:2010-09-13 16:37:03

标签: c# unit-testing mocking

应该使用目标类的内置单元测试生成器(VS),还是应该学习如何编写单元测试?什么是“模拟”的东西?我一遍又一遍地听到,但没有人愿意给出一个很好的解释。

提前致谢。

1 个答案:

答案 0 :(得分:18)

您需要学习自己编写单元测试。从良好的理解术语开始,很多人犯错:

单元测试:测试单个代码单元,非常小的原子测试。

集成测试:测试集成在一起的多个代码单元,遍历不同的层并确保它们正确使用彼此。这些应在单元测试验证各个单元独立工作后完成。许多人错误地将这些称为单元测试。

构建验证测试:通过部署构建产品并运行将以用户方式与其交互的测试来测试构建产品。也经常错误地称为单元测试。这些是功能最全面的测试,通常只是由测试团队手动完成而不是自动化。

这是MOQ的快速入门,它是一个模拟框架: https://github.com/Moq/moq4/wiki/Quickstart

Mocking是一小段代码,可能依赖于其他东西,嘲笑其他东西,以便您可以控制要测试的代码段周围的环境。

模拟的目的是测试中的原子性。它允许您只测试您想要的单个代码段,而不会因为依赖代码段中的错误而影响测试。同样,模拟使您能够制作各种场景来测试每段代码的边缘情况。

Mocking通常用于在单元测试中围绕目标代码创建边界,尽管在集成测试中使用它来制作作为您所针对的集成代码链的种子的资源也并不罕见。 p>

相关问题