1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | nunit-skill-lambdatest-agent-skills |
| 作者/维护者 | TestMu AI(原 LambdaTest) |
| 来源链接 | https://github.com/LambdaTest/agent-skills/tree/main/nunit-skill |
| 许可证 | MIT(数据来自 GitHub API) |
| GitHub Stars | 352(数据来自 GitHub API;为整个合集仓库总量,不代表本技能自身热度) |
| Forks | 69(数据来自 GitHub API,同为合集整体口径) |
| 最新版本 | 1.0(SKILL.md front matter 自述,仓库未发布正式 Release) |
| 安装方式 | 见第 10 章 |
2. 功能介绍与亮点
为 NUnit 3(.NET 生态主流单元测试框架之一)生成生产级 C# 测试代码的技能:把断言写法零散、Mock 依赖组织混乱的问题,变成按同一套规范产出可维护的 C# 测试。
- Constraint Model 全覆盖:
Assert.That约束模型的十余种写法(相等、范围、字符串包含/前缀、集合成员、类型判断、异常断言、浮点数误差容忍等)均给出可直接套用的代码示例,并配对照表说明为何优先用约束模型而非经典Assert.AreEqual。 - 参数化与生命周期:
[TestCase]/[TestCaseSource]数据驱动测试、[SetUp]/[TearDown]/[OneTimeSetUp]/[OneTimeTearDown]完整生命周期钩子、[Category]/[Ignore]/[Timeout]/[Retry]等属性用法均有示例。 - 深度 Playbook(约 17.7 KB,两份参考文档):项目配置(
.csproj依赖清单 +.runsettings)、Moq/NSubstitute 双 Mock 框架对比、Bogus 随机测试数据工厂、异步测试、自定义 Constraint 扩展、GitHub Actions CI 集成(含覆盖率收集与测试报告发布)、10 项调试排错对照表、13 项生产最佳实践清单。 - 纯参考文档形态:子目录仅含 SKILL.md 与两份 Markdown 参考文档(合计约 22 KB),不含任何可执行脚本,全文未出现任何第三方账号或凭据要求,纯本地可用。
3. 适用场景
所属分类:工程效率与代码质量
已用 C#/.NET 开发、想让 AI 编码助手按统一规范写 NUnit 3 测试(含 Moq/NSubstitute Mock、TestCaseSource 参数化、Bogus 数据工厂)的初中级 .NET 开发者;也适用于团队想把测试写法(约束模型断言选择、Mock 用法、生命周期钩子)标准化、减少 Code Review 中反复纠正测试写法成本的场景。不依赖 TestMu AI 云端服务,纯本地可用。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持。SKILL.md 采用标准 Agent Skills 格式,仓库 README 给出配套的官方安装工具。
- Codex:❓ 未验证——仓库 README 列出的受支持助手为 “Claude Code, GitHub Copilot, Cursor, Gemini CLI”,未点名 Codex。
- OpenClaw:❓ 未验证——已抓取材料未提及。
- Hermes Agent:❓ 未验证——已抓取材料未提及。
5. 推荐理由
一份把 NUnit 3 从约束模型断言、参数化测试、生命周期钩子到 Moq/NSubstitute 双 Mock 框架、Bogus 数据工厂、自定义 Constraint、CI 集成的规范写法讲全的技能,附反模式对照表、10 项调试排错表与 13 项生产最佳实践清单帮助少走弯路,核心路径零付费依赖、子目录不含任何脚本,安全面干净,SKILL.md + 参考文档合计约 22 KB,内容覆盖面扎实。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | TestMu AI(原 LambdaTest)是该领域公认的一线测试云平台:累计融资 1.08 亿美元(8 轮,最近一轮 2024 年 Avataar Venture Partners 领投的 3800 万美元 C 轮),18,000+ 企业客户(含 Microsoft、OpenAI、Nvidia),Forbes 2026-01-12 有专文报道。合集仓库整体 352 stars 属整个合集,不代表本技能自身热度,仓库内检索未见本技能自身的独立第三方 issue/PR 讨论 |
| 可用性 | 8 | 核心功能仅需一条 dotnet add package 命令即可用(NUnit/Moq 均为免费开源 NuGet 包);文档完整含项目配置、CI 集成、调试排错等专题示例;子目录最后提交约 5.7 个月前,未见归档或功能性问题 |
| 安全性 | 9 | 子目录不含任何脚本或可执行文件,仅 SKILL.md 与两份 Markdown 参考文档;逐份扫描未见可疑指令或隐藏外发;全文未出现任何第三方账号、API Key 或凭据要求;License(MIT)明确 |
安全检查清单:① Shell 命令——无,不含 scripts/,文档中出现的 dotnet add package/dotnet test 属开发者本地标准工具链命令,非技能自带脚本;② 联网外发——纯本地生成测试代码,无任何外发行为;③ 凭据——不涉及,本技能不依赖任何第三方账号或 API Key;④ 可疑指令——SKILL.md 与两份参考文档逐份扫描未发现;⑤ 作者信誉——TestMu AI,融资/客户量/媒体报道均可查证,良好;⑥ License——MIT,明确;⑦ 最近维护——约 2026-02-23,约 5.7 个月前,未见归档。
7. 跟同类 Skills 相比的优势
| 同类项目 | 定位 | 与本技能的差异 |
|---|---|---|
| csharp-nunit(github/awesome-copilot 技能目录) | GitHub Copilot 官方技能目录里的 NUnit 最佳实践指南,单文件约 2.8 KB | 只覆盖 AAA 结构与基础属性用法;本技能额外含 Constraint Model 全量写法、Moq/NSubstitute 双 Mock 框架对比、Bogus 数据工厂、自定义 Constraint、CI 集成与调试排错表,内容深度约为其 8 倍 |
| dotnet-test-dotnet-skills | 微软官方出品,dotnet/skills 合集内的多语言测试生成与质量分析工具,覆盖 C#/Python/TypeScript 等 12 种以上语言 |
定位是跨语言的测试执行、覆盖率与代码质量分析编排层(可自动识别 MSTest/xUnit/NUnit/TUnit 并调用 dotnet test);本技能专注 NUnit 3 自身的断言语法、Mock 用法与测试模式,两者互补而非直接竞争 |
| phpunit-skill-lambdatest-agent-skills | 同池姊妹技能,面向 PHP 生态的 PHPUnit | 服务 PHP 项目;本技能服务 .NET/C# 项目,两者面向不同技术栈,非直接竞争关系 |
| junit-5-skill-lambdatest-agent-skills | 同池姊妹技能,面向 Java 生态的 JUnit 5 | 服务 Java 项目;本技能服务 .NET/C# 项目,两者面向不同技术栈,非直接竞争关系 |
核心差异化在“.NET 测试生态自身的语法广度与工程化深度“:Constraint Model 全量写法、Moq/NSubstitute 双 Mock 框架对比、Bogus 数据工厂、自定义 Constraint 扩展、10 项调试排错对照表是本技能独有内容。对已决定用 NUnit 但想把写法规范化、并覆盖到 Mock/CI 集成等进阶场景的 .NET 开发者针对性更强;相较主流技能市场里已有的同类条目(如 awesome-copilot 的 csharp-nunit),内容深度明显更完整。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;LambdaTest/agent-skills 仓库整体在 GitHub 上有真实的多贡献者协作记录(近期合并的 PR 涉及 accessibility 技能新增、HyperExecute 技能更新、reqnroll 技能新增等,均来自不同贡献者账号)。
9. 其他补充
- 支持语言:C#。
- 深度 Playbook 中同时给出 Moq(验证交互调用)与 NSubstitute(另一主流 Mock 库)两种写法对照,供团队按现有依赖选型,多数入门指南只覆盖其中一种。
- 调试排错表覆盖测试未被发现、
[SetUp]执行时机误解、并行测试状态污染、TestCaseSource静态方法遗漏、Assert.Multiple误用等 10 个常见报错场景及对应修复方法。
10. 安装使用方式
方式一:官方 CLI(仓库推荐)
git clone https://github.com/LambdaTest/agent-skills && cd agent-skills
npx agentskillsforall add https://github.com/LambdaTest/agent-skills.git --skill nunit-skill
方式二:手动复制(本技能不含任何脚本,直接复制目录即可)
git clone https://github.com/LambdaTest/agent-skills
cp -r agent-skills/nunit-skill ~/.claude/skills/
安装后注意事项:复制到位后无需重启、无需注册任何账号;官方 CLI 安装流程会提示配置 TestMu AI 云端账号(LT_USERNAME/LT_ACCESS_KEY),但那是仓库整体安装工具的通用提示,本技能内容全程不涉及云端执行,方式二可完全跳过该步骤。Agent 会在识别到 “NUnit”、“[TestFixture]”、“[Test]”、“Assert.That”、“C# unit test” 等触发词时自动读取本技能内容。
11. 注意事项
- 本技能面向“已经决定用 NUnit”的 .NET 项目;示例中的 Moq、NSubstitute、Bogus、FluentAssertions 均为需要自行在项目中声明的第三方 NuGet 依赖。
- 内容聚焦 NUnit 语法、Mock 与测试模式本身,不涉及 .NET 静态分析、代码覆盖率工具链(如 dotnet-test-dotnet-skills 覆盖的 CRAP 风险评分)等相邻工具的深度用法。
- 子目录最后提交约在 2026-02-23,约 5.7 个月前,暂未发现功能性问题,但关注长期维护节奏的团队可留意后续更新频率。