单元测试-使用nmock测试你的.NET代码(3)

使用模拟对象来解决问题

传统上,单元测试的术语已经包含了驱动和存根(stub)的概念。在你作为一个软件开发者的生涯中,你或许对你所需要测试的每个模块都创造相当多的这些驱动和存根。

驱动是为了访问库中的属性和方法的单一目的而写的一种程序,并用它来测试这个库中的功能。存根也是一种程序,它的目的仅仅是为所测试的库提供可能需要与其他模块交互来完成它的工作的一个执行环境。

如图2中所示的,这种概念很好的转化成了应用术语。在如今这些可利用的工具中,你有一个可同时执行驱动和存根的框架,并且可以以一种灵活动态的方式来使用它。在驱动的执行上,我使用NUnit(当前版本2.2);在存根的执行上,我使用NMock(当前版本1.1)来创建运行时的动态模拟对象。如果返回到图1里面,一个模拟对象已经代替了数据访问层来执行IMyDataAccess接口。NMock可以在运行时创建这样的一个模拟对象。

注意到NMock使用了反射机制来创建接口在运行时的模拟执行环境,因此要使用NMock,使用对接口的编码来代替执行环境是有必要的。 由于这已经是一项饱受赞誉的最优方法,因此NMock有助于加强这种重要的设计技术。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值