NSubstitute:一个简单易用、灵活多变的.NET单元测试模拟框架

推荐一个简单易用、灵活多变的.NET单元测试模拟框架,让开发者能够更轻松地进行单元测试。

01 项目简介

NSubstitute是一个开源的.NET单元测试模拟类库,该框架设计的主要目标是提供一个简单明了、易用性强、贴近自然语言的模拟测试框架。它使得开发者能够专注于测试工作,而不是纠结于测试替代实例的创建和配置。

NSubstitute为Arrange-Act-Assert(AAA)模式的测试进行设计,使得开发者只需关注如何进行测试,而无需考虑是否需要编写模拟或存根。

NSubstitute的语法简洁明了,更符合自然语言,使得可读性更高。对于新手或专注于测试的开发人员来说,它的语法友好,且更少使用lambda表达式,易于编写完美的测试程序。

此外,NSubstitute不仅提供了最常用的操作需求,还支持一些不常用的或探索性的功能。它尽可能地将语法向自然语言靠近,以模拟概念为中心,帮助开发者更好地完成单元测试。

02 使用方法

1、安装库

复制代码
Install-Package NSubstitute

2、定义接口

复制代码
public interface ICalculator
{
int Add(int a, int b);
string Mode { get; set; }
event Action PoweringUp;
}

3、编写单元测试

复制代码
//根据接口,模拟创建实例
var _calculator = Substitute.For<ICalculator>();
//模拟方法Add,入参和返回结果
_calculator.Add(1, 2).Returns(3);
//断言
Assert.That(_calculator.Add(1, 2), Is.EqualTo(3));

03 项目地址

https://github.com/nsubstitute/NSubstitute

更多开源项目请查看:一个专注推荐.Net开源项目的榜单

- End -

推荐阅读

别再纠结,WinForm与WPF的异同点在这!

提高程序灵活性和效率的利器:Natasha动态编译库【.Net】

基于C#开发的适合Windows开源文件管理器

纯C#开发的解压缩开源库,解压缩文件从此变得如此简单!

盘点.Net被微软抛弃的8个技术,你用过几个?

相关推荐
DolphinDB智臾科技9 分钟前
不懂复杂金融数据,也能让 AI 做投研:DolphinDB 股票分析 MCP 已开源
人工智能·金融·开源
pnoker1 小时前
从工业软件到 AI 智能体:工业 AIoT 技术路线的系统梳理
java·人工智能·物联网·microsoft·开源·工业互联网
智码看视界1 小时前
Apodex-1.1-mini 部署实测:Int4 量化 18GB 单卡跑通 Agent Team,35B 开源逼近 1T Kimi
开源·agent·模型量化·智能体·开源大模型·大模型本地部署·apodex
夏文强1 小时前
DeepSeek Harness 底层探秘:Cordis 元框架与「一切皆插件」的实现
人工智能·开源·大模型·agent·deepseek
0xR3lativ1ty1 小时前
AI本地部署工具火热趋势
github
郝学胜-神的一滴2 小时前
C++11 工程级应用 08:Lambda表达式与Tuple元组
开发语言·jvm·c++·python·程序人生·开源
夏文强2 小时前
DeepSeek Harness 可追溯性实战:会话日志的 resume、fork 与 replay
人工智能·开源·大模型·agent·deepseek
Superzhangaa2 小时前
太希智能全栈自研背后的机器人逻辑
人工智能·机器人·开源
LlmCraft|大模型工程实践3 小时前
14. CI/CD 流水线中集成 Docker:GitHub Actions 自动构建部署
ci/cd·docker·github
hulihutu443 小时前
拒绝延期、bug、货不对板:2026 管理系统定制开发落地保障手册
github·bug·鸿蒙系统·数据库管理员