SuperAPI AI 工具集

tdd

测试与质量

查看项目

更新于 10-15 20:13

技能介绍

用途:为 .NET 功能提供严格的测试驱动开发流程,先写定义期望行为的失败测试,再写最小实现使其通过,最后在测试保护下重构。适用于有明确验收标准的新功能、修复缺陷(先写复现测试)、为已有功能添加行为,以及任何希望在交付前证明代码可用的场景。琐碎配置修改、无逻辑脚手架和文档可跳过 TDD。

主要能力:每个循环覆盖一个离散行为,使用 .NET 测试栈——xUnit v3([Fact]、[Theory])、WebApplicationFactory(针对真实 HTTP 管道的集成测试)、Testcontainers(测试中使用真实 PostgreSQL、SQL Server 数据库)、Verify(复杂响应结构的快照测试)、FakeTimeProvider(确定性时间)。

使用方式:红阶段编写描述期望行为的测试并确认失败,运行 dotnet test --filter "测试名";若未实现却通过则重写测试。绿阶段写满足断言的最小代码,不添加功能、优化或边界处理,再次运行同一命令确认通过。重构阶段自由提取方法、重命名、应用现代 C# 模式(主构造函数、record、集合表达式),补充验证与错误处理并为每项新增测试,每步后运行 dotnet test 全量套件;若变红则撤销上一步并缩小改动。多循环功能需预先规划,每个循环只加一个行为,不合并多个行为。若项目缺少测试基础设施,需先创建含 xUnit v3 及所需包的测试项目,配置 WebApplicationFactory 与 Testcontainers 连接真实数据库,添加共享 fixture 避免每个测试类都启动容器,并用简单健康检查测试验证基础设施。

限制:资料未提供该命令的安装方式、收费、价格、平台支持范围及具体性能效果,暂未提供。FluentAssertions v8+ 需商业许可,示例使用原生 xUnit Assert。