SuperAPI AI 工具集

dotnet-testing-awesome-assertions-guide

测试与质量

查看项目

更新于 10-15 23:45

技能介绍

用途:本技能提供使用 AwesomeAssertions 编写高质量测试断言的指南,适用于撰写单测与集成测试、验证复杂对象结构、比对 API 回应或数据库实体,以及需要清晰失败讯息时。

主要能力:以 .Should() 开始的流式语法,覆盖对象(NotBeNull、BeOfType、BeEquivalentTo)、字符串(Contain、StartWith、MatchRegex)、数值(BeGreaterThan、BeInRange、BeApproximately)、集合(HaveCount、Contain、AllSatisfy)、例外(Throw、WithMessage、WithInnerException)与非同步(ThrowAsync、CompleteWithinAsync)。进阶含 BeEquivalentTo 深度比对选项(排除属性、动态排除、循环参考)、自订 Assertions 扩充、AssertionScope 聚合失败讯息与 because 失败说明。9.2–9.4 新增出现次数约束、按名称排除成员、数值集合 EqualApproximately、集合格式化最大项目数与 [return: NotNull] 空值安全改善。

使用方式:以 .NET CLI 安装 dotnet add package AwesomeAssertions,或在 csproj 加入 PackageReference Include="AwesomeAssertions" Version="9.4.0" PrivateAssets="all",并 using AwesomeAssertions;。搭配 unit-test-fundamentals 建立测试结构、test-naming-conventions 命名、xunit-project-setup 项目设定。

限制:不适用于性能测试、负载测试与 UI 测试;AwesomeAssertions 为 FluentAssertions 的社群 fork,采 Apache 2.0 授权,命名空间不同但 API 高度相容;EqualApproximately 需 .NET 8+。其余平台或收费细节暂未提供。