使用Nmock单元测试 .NET 业务对象
Nmock是在开发环境下测试复杂业务对象的唯一方式
理解单元测试问题
在一个测试驱动的开发环境(test-driven developmentenvironment)下,为复杂的业务对象编写单元测试脚本很困难,因为,业务对象可能外部依赖(高耦合,high coupling)很多其他对象。
有时,对于有限的项目预算来说,建立开发环境,并配置它们的单元测试,不大可能。但是开发人员可以通过 mock 测试对象解决这个问题。
通过创建 mock 业务对象,而不是你复杂业务对象的真正实现,你可以一次测试一个类。Mock 对象是模拟对象,复制你的业务对象的行为,你可以在你真正的单元测试脚本中使用 这些mock 对象。
使用 Nmock 库
很少有微软 .NET 支持的模拟(mock)测试框架——Nmock 就是其中之一。Nmock 也可以很容易与 Nunit 测试框架集成。Nmock 是免费的。
Nmock是一个独特的具有以下特征的模拟测试库:
1) 同其他单元测试框架一样,开发人员需要定义期望。你期待什么作为输出?
2) 模拟对象基于实现的接口,本质上是动态的。
3) 如果实际的输出与预期不符合,那么你的测试用例将失败。
4) 错误信息显示错误的详细描述。
安装 Nmock 测试环境
为了开发示例应用程序,使用 VisualStudio 2008 .NET 框架3.5。单元测试使用 NUnit 2.5.10。在安装NUnit msi包之后,除了能看到 nunit.framework.dll的引用,还能看到