为了账号安全,请及时绑定邮箱和手机立即绑定

单元测试 Mocking 类库需具备的特性

标签:
资讯

一个优秀的单元测试 Mocking 类库,需要具备如下几个特性:

  • 易用性:有非常明确的 API ,易于使用并易于记忆。

  • 健壮性:行为结果始终一致,并保持准确。

  • 帮助性:当程序出错时,给出尽可能明确的原因提示。

如果我们所使用的类库没有满足上述条件,编写测试用例的过程将变得复杂和困难,使用类库不仅没有节省时间,反而可能使我们更加迷惑。在这种条件下,我们可能更愿意删除测试用例,之前的工作也就浪费了。

在 .NET 世界中,下面是一些框架或类库的比较:

目前主流的 Mocking 类库都会支持以下主要功能:

  • 无需学习 Record/Replay/Verify 模型,仅需 Mock 你需要的类型,进而验证结果或行为。

  • 无需学习诸如 mock/stub/fake/dynamic/spy 等概念。

  • 低学习曲线,API 简单明确,大部分时间不需要翻阅文档。

  • 强类型,可直接使用对象类型配置返回值或约束条件。

  • 既可以 Mock 接口类型,也可以 Mock 类类型。

  • 支持定义覆盖,可以覆盖 Fixture 中的预先配置。

  • 当 Mock 类时,可为构造函数传递参数。

  • 支持拦截和引发事件通知。

  • 直观的支持 out/ref 参数。

下面是一些 Mocking 类库的链接:

  • NSubstitute

  • Moq

  • Rhino Mocks

  • Microsoft Fakes Commercial (included with Visual Studio 2012 Ultimate)

  • NMock

  • EasyMock.NET

  • TypeMock Isolator Commercial / Paid

  • JustMock Free version and Commercial / Paid version

  • FakeItEasy

 

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消