在测试过程中使用模拟是值得的吗?

Sor*_*ohi 5 .net unit-testing mocking

在这学期中,我的教授试图说服我们为什么在开发过程中使用单元测试是好的,为什么验证数据很好(微软应用程序块),他告诉我们使用模拟(RhinoMocks)来测试我们的方法.没有访问数据库.

我不得不用模拟进行一些单元测试,为了使它们工作,我必须手工创建测试我的方法所需的对象层次结构(我花了一些时间来编写我需要的所有内容).

我想提出的问题:在生产中使用模拟有用吗?我每次有机会都应该使用它吗?为了测试一个带有模拟的方法,为了编写所有内容所做的努力是否会得到回报?

谢谢

Mar*_*ann 1

是的,使用模拟对象作为众多单元测试工具之一绝对是一项值得的努力。

然而,它最适合测试驱动开发,因为测试驱动设计。当您因为必须维护深层嵌套结构而开始感受到紧密耦合代码的痛苦时,您知道是时候重构为更松散耦合的 API 了。