推荐一个C#开源库,用于单元测试中的断言,它提供了一系列的扩展方法,使得单元测试的断言看起来更加自然流畅。

01 项目简介

FluentAssertions 是一个基于 .NET 的断言库,它提供了一种链式调用的方式来编写断言语句。支持框架.NET Framework 4.7、.NET Core 2.1、.NET Core 3.0、.NET 6、.NET Standard 2.0/2.1,支持单元测试框架MSTest2、NUnit3、XUnit2、MSpec和NSpec3。

支持扩展方法分类:

图片

02 使用方法

1、更接近于自然语言

传统写法

Assert.AreEqual(5, result);

使用 FluentAssertions:

result.Should().Be(5);

2、多个断言条件,一个语句中连续进行多个断言

string actual = "ABCDEFGHI";
actual.Should().StartWith("AB").And.EndWith("HI").And.Contain("EF").And.HaveLength(9);

3、除了基本的等值断言外,FluentAssertions 还提供了丰富的断言方法
,用于验证各种不同类型的数据和场景。例如,你可以使用 BeGreaterThan 方法来验证一个数值是否大于另一个数值:

int largerNumber = 10;  
int smallerNumber = 5;  
largerNumber.Should().BeGreaterThan(smallerNumber);

03 项目地址

https://github.com/fluentassertions/fluentassertions

- End -

更多开源项目:
https://github.com/bianchenglequ/NetCodeTop

推荐阅读

ImageSharp:高性能跨平台.NET开源图形库

Garnet:微软官方基于.Net 8开源缓存系统,可无需任何改动直接替代Redis,而且还更高性能!

一套UI精美、控件丰富、多主题的WinForm开源界面库

CodeMaid:Visual Studio代码自动整理插件!

websocket-sharp:.NET平台上的WebSocket客户端与服务器开源库

标签: none

添加新评论