NSubstitute 是什么?

NSubstitute 是一个 .NET 单元测试模拟类库。

一直以来,开发者对 mocking 类库的语法的简洁性有强烈的需求,NSubstitute 试图满足这一需求。简单明了的语法可以让我们将重心放在测试本身,而不是纠缠在测试替代实例的创建和配置上。NSubstitute 已尝试将最常用的操作需求简单化、易用化,并支持一些不常用的或探索性的功能,与此同时还尽可能地将其语法向自然语言靠近。

NSubstitute 是为 Arrange-Act-Assert (AAA) 模式的测试进行设计的,所以你仅需 Arrange 测试应该怎样工作,然后 Assert 是否接收到你期待的调用和参数。因此你会将重点放到测试内容上,而不是在考虑是否需要编写一个 mock 或 stub。具体内容请阅读原文。

NSubstitute 完全手册

  • (一)入门基础

  • (二)创建替代实例

  • (三)设置返回值

  • (四)为特定参数设置返回值

  • (五)为任意参数设置返回值

  • (六)使用函数设置返回值

  • (七)设置多个返回值

  • (八)替换返回值

  • (九)检查接收到的调用

  • (十)清理已收到的调用

  • (十一)参数匹配器

  • (十二)使用回调函数和WhenDo语法

  • (十三)抛出异常

  • (十四)引发事件

  • (十五)自动递归模拟

  • (十六)设置out和ref参数

  • (十七)参数匹配器上的操作

  • (十八)检查调用顺序

单元测试代码

  • 源代码位置


原文地址:http://www.cnblogs.com/gaochundong/archive/2013/05/22/nsubstitute_manual.html


.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

NSubstitute完全手册索引相关推荐

  1. NSubstitute完全手册(二)创建替代实例

    创建一个替代实例的基本语法: var substitute = Substitute.For<ISomeInterface>(); 这就是通常情况下你创建一个类型的替代实例的方法.一般来说 ...

  2. NSubstitute完全手册(八)替换返回值

    如果需要的话,一个方法或属性的返回值可以被设置多次.只有最后一次设置的值将被返回. 1 public interface ICalculator 2 { 3 int Add(int a, int b) ...

  3. NSubstitute完全手册(一)入门基础

    NSubstitute入门 最简单的入门方式就是创建一个测试项目,并将 NSubstitute 引用到其中.可以通过 NuGet 或 OpenWrap 来获取 NSubstitute 包.也可以直接下 ...

  4. SQLite学习手册(索引和数据分析/清理)

    一.创建索引: 在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:     sqlite> CREATE TABLE testtable (f ...

  5. mysql srid_mysql8 参考手册--索引优化

    主键优化 表的主键表示您在最重要的查询中使用的一列或一组列.它具有关联的索引,可提高查询性能.查询性能可以从NOT NULL优化中受益,因为它不能包含任何NULL值.使用InnoDB存储引擎,可以对表 ...

  6. SQLite学习手册(索引和数据分析/清理)-转

    一.创建索引: 在SQLite中,创建索引的SQL语法和其他大多数关系型数据库基本相同,因为这里也仅仅是给出示例用法:     sqlite> CREATE TABLE testtable (f ...

  7. 代码的印象派:写点好代码吧

    最近有一位猎头顾问打电话询问是否有换工作的意向,对推荐的公司和职位的描述为:"我们这里有一家非常关注软件质量的公司,在寻找一位不仅能完成有挑战的软件开发任务,并且还对代码质量有非常高追求的软 ...

  8. .NET Core系列 :4 测试

    2016.6.27 微软已经正式发布了.NET Core 1.0 RTM,但是工具链还是预览版,同样的大量的开源测试库也都是至少发布了Alpha测试版支持.NET Core, 这篇文章 The Sta ...

  9. mysql 织梦 索引_Mysql索引详解 建立索引的优势劣势以及索引规范

    索引是什么 索引(index)是帮助MySQL高效获取数据的数据结构 如果没有特别指明,都是指的是B树索引(多路搜索树,并不一定是二叉树)结构组织的索引 建立索引的优势和劣势 优势 提高数据检索的效率 ...

最新文章

  1. Linux EXT2文件系统结构分析(详情见附件)
  2. 贝叶斯网络之父Judea Pearl:要建立真正的人工智能,少不了因果推理
  3. Android之文件数据存储
  4. Linux中设置ip
  5. 如何取消IE窗口的全屏显示
  6. java rest框架_比较Java REST文档框架
  7. 美团数据仓库-数据脱敏
  8. spring引入properties变量报错
  9. 【牛腩新闻发布系统】牛腩小结
  10. git lfs mac 安装_GIT LFS 安装及使用
  11. qq出示测试软件语音聊天,QQ语音时语音测试时可以听到声音,播放测试语音时听不到,也听不到好友发来的语音,请问怎么处理...
  12. 计算机群等级,腾讯客服-群成员活跃等级规则
  13. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)
  14. 小圆象PDF:图片转pdf在线转换器有哪些?照片怎么变成PDF文件?
  15. Altium Designer PCB封装库放置3D模型对齐问题的解决思路
  16. 高并发读,高并发写解决方案
  17. Bacon分解做交错DID数据、代码以及参考文献
  18. 网管型交换机与非网管型交换机的区别
  19. NumPy-创建adarray
  20. 基于802.11n物理层的OFDM通信链路simulink仿真,包括FEC编码、插入导频、OFDM成帧、STBC编码

热门文章

  1. WWDC 2013 Session笔记 - Xcode5和ObjC新特性
  2. ESXI转HYPER-V,问题接二连三啊(VMDK转VHD)
  3. Mysql 常用函数总结
  4. 使用Windbg内核调试连接调试用户态程序的方法
  5. .NET+Sqlite如何支持加密
  6. 知名Node.js组件存在代码注入漏洞
  7. 晋升新一线的合肥,跨平台的.NET氛围究竟如何?
  8. 为什么我们总是「习惯性辩解」?
  9. .NET Core微服务开发选项
  10. 温故知新:Docker基础知识知多少?