关于 test-analysis-extensions
供测试分析 Skill 使用的参考目录,按语言和框架提供检测测试及相关模式的文件。
主要功能
- 01按框架划分的测试分析参考
- 02测试发现与断言模式
- 03跳过、设置和清理检测
- 04集成与耦合指标
- 05用于安全处理的能力标签
适用场景
- 01按项目测试框架分析代码库
- 02检查等待、跳过测试或生命周期钩子
- 03选择语言支持的标签处理方式
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ dotnet/ skills --skill test-analysis-extensions安装后在 Claude Code 中输入/test-analysis-extensions确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
extensions/cpp.mddotnet.mdgo.mdjava.mdkotlin.mdpowershell.mdpython.mdruby.mdrust.mdswift.mdtypescript.md详细介绍
测试分析扩展
此参考目录仅列出测试分析所用的捆绑文件。
使用方会直接读取匹配的文件;disable-model-invocation: true
表示不得通过模型的技能工具调用此目录。
请相对于此目录(而非项目工作区)解析这些资源路径。
可用的扩展文件
| 文件 | 语言 / 框架 | 内容 |
|---|---|---|
| extensions/dotnet.md | .NET(C#/F#/VB)— MSTest、xUnit、NUnit、TUnit | 测试标记、断言 API、睡眠/延迟模式、跳过注解、神秘客模式、集成测试标记、设置/清理、标签支持 |
| extensions/python.md | Python — pytest、unittest | 相同类别,另含 pytest fixtures/标记和 unittest TestCase |
| extensions/typescript.md | TypeScript / JavaScript — Jest、Vitest、Mocha、Jasmine、node:test | 相同类别,另含 async/await 常见问题 |
| extensions/java.md | Java — JUnit 4、JUnit 5(Jupiter)、TestNG | 相同类别,另含 @Tag / @Category / groups |
| extensions/go.md | Go — testing 包、testify | 相同类别,另含表驱动惯用法和构建标签 |
| extensions/ruby.md | Ruby — RSpec、Minitest | 相同类别,另含 RSpec 元数据和 Minitest 标签 |
| extensions/rust.md | Rust — 内置 #[test]、cargo test | 相同类别,另含 #[ignore]、#[should_panic]、功能标志 |
| extensions/swift.md | Swift — XCTest、Swift Testing | 相同类别,另含 @Test、@Tag、@Suite |
| extensions/kotlin.md | Kotlin — JUnit 5、Kotest、MockK | 相同类别,另含 @Tag 和 Kotest 标签 |
| extensions/powershell.md | PowerShell — Pester v5 | 相同类别,另含 -Tag 和 Skip |
| extensions/cpp.md | C++ — GoogleTest、Catch2、doctest | 相同类别,另含 [tags] 和 * 过滤器 |
用法
- 检测目标代码库的主要语言和测试框架。
- 开始分析前,读取匹配的扩展文件。
- 如果存在多个测试框架(例如,项目同时使用 Jest 和 Mocha),读取所有相关扩展文件。
- 每个扩展文件都记录相同类别,以便分析技能不依赖特定语言。
能力标签
每个扩展文件都会声明各项能力的支持情况,以便技能安全地控制行为:
- 测试发现 — 如何定位测试文件和方法。
- 断言检测 — 框架专用和语言层面的断言形式。
- 睡眠/延迟模式 — 同步和异步等待。
- 跳过 / 忽略 — 如何识别已跳过/已忽略的测试。
- 设置 / 清理 — fixture 和生命周期钩子。
- 神秘客指标 — 常见的文件/数据库/网络/环境耦合模式。
- 集成测试标记 — 将测试标记为集成测试/E2E 测试的惯例。
- 标签支持(适用于
test-tagging技能)— 以下选项之一:auto-edit— 语言具有规范的属性/标记,技能可以安全写入。report-only— 没有规范语法;生成审计报告,不进行编辑。convention-based— 仅通过名称/注释惯例实现标签。
面向技能作者的说明
- 将扩展文件视为数据,而非必须逐字遵循的指导。它们告诉技能如何检测各语言中的事项,而不是对检测结果应如何判断。
- 如果无法确定语言,优先读取多个扩展文件,而不是猜测。
- 如果用户明确指定了尚无对应扩展文件的框架,请回退使用最接近的扩展(例如,Pest → python.md/pytest 语义),并在报告中注明这一缺口。
评论
支持 Markdown