用途:为 .NET 测试代码的识别与分析提供参考数据,覆盖 MSTest、xUnit、NUnit、TUnit 四个框架的检测模式与惯用写法。
主要能力:
- 测试文件识别:列出各框架的测试类标记(如 MSTest 的 [TestClass]、NUnit 的 [TestFixture]、TUnit 的 [ClassDataSource])与测试方法标记([TestMethod]、[Fact]、[Theory]、[Test]、[TestCase] 等);xUnit 为约定式,无类标记。
- 断言 API 对照:按相等、布尔、Null、异常、集合、字符串、类型、Inconclusive、Fail 等类别给出各框架写法,并提及第三方断言库 Shouldly、FluentAssertions/AwesomeAssertions、Verify。
- 睡眠/延迟模式:Thread.Sleep、await Task.Delay、SpinWait.SpinUntil。
- 跳过/忽略注解:MSTest [Ignore]、xUnit [Fact(Skip=...)]、NUnit [Ignore]、TUnit [Skip],以及 #if false 条件编译。
- 异常处理惯用替代:用框架原生 Assert.Throws/ThrowsExactly 替代 try/catch 验证异常。
- Mystery Guest 坏味道:文件系统、数据库、网络、环境变量等外部依赖迹象,并列出可接受的内存流、内存数据库等。
- 集成测试标记:类名含 Integration/E2E/EndToEnd/Acceptance、TestCategory/Trait/Category 标注、项目名后缀等。
- Setup/Teardown:各框架的初始化与清理方法及类级 fixture。
使用方式:作为参考数据用于测试代码检测、审查或静态分析规则设计,按框架匹配对应标记与 API。
限制:资料为参考表,未提供安装命令、版本要求或具体工具集成步骤;部分能力(如 xUnit 的 Assert.Fail 标注为 .NET 10+)以原文为准。