推荐一个简单易用、灵活多变的.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 -
推荐阅读