mcpField
T
test-analysis-extensions

test-analysis-extensions

github.com/dotnet测试与质量5.8k3.2k 次安装1 天前更新
代码仓库

关于 test-analysis-extensions

供测试分析 Skill 使用的参考目录,按语言和框架提供检测测试及相关模式的文件。

主要功能

  1. 01按框架划分的测试分析参考
  2. 02测试发现与断言模式
  3. 03跳过、设置和清理检测
  4. 04集成与耦合指标
  5. 05用于安全处理的能力标签

适用场景

  1. 01按项目测试框架分析代码库
  2. 02检查等待、跳过测试或生命周期钩子
  3. 03选择语言支持的标签处理方式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/dotnet/skills --skill test-analysis-extensions

安装后在 Claude Code 中输入/test-analysis-extensions确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

extensions/
cpp.md
dotnet.md
go.md
java.md
kotlin.md
powershell.md
python.md
ruby.md
rust.md
swift.md
typescript.md

详细介绍

测试分析扩展

此参考目录仅列出测试分析所用的捆绑文件。 使用方会直接读取匹配的文件;disable-model-invocation: true 表示不得通过模型的技能工具调用此目录。 请相对于此目录(而非项目工作区)解析这些资源路径。

可用的扩展文件

文件语言 / 框架内容
extensions/dotnet.md.NET(C#/F#/VB)— MSTest、xUnit、NUnit、TUnit测试标记、断言 API、睡眠/延迟模式、跳过注解、神秘客模式、集成测试标记、设置/清理、标签支持
extensions/python.mdPython — pytest、unittest相同类别,另含 pytest fixtures/标记和 unittest TestCase
extensions/typescript.mdTypeScript / JavaScript — Jest、Vitest、Mocha、Jasmine、node:test相同类别,另含 async/await 常见问题
extensions/java.mdJava — JUnit 4、JUnit 5(Jupiter)、TestNG相同类别,另含 @Tag / @Category / groups
extensions/go.mdGo — testing 包、testify相同类别,另含表驱动惯用法和构建标签
extensions/ruby.mdRuby — RSpec、Minitest相同类别,另含 RSpec 元数据和 Minitest 标签
extensions/rust.mdRust — 内置 #[test]、cargo test相同类别,另含 #[ignore]、#[should_panic]、功能标志
extensions/swift.mdSwift — XCTest、Swift Testing相同类别,另含 @Test、@Tag、@Suite
extensions/kotlin.mdKotlin — JUnit 5、Kotest、MockK相同类别,另含 @Tag 和 Kotest 标签
extensions/powershell.mdPowerShell — Pester v5相同类别,另含 -Tag 和 Skip
extensions/cpp.mdC++ — GoogleTest、Catch2、doctest相同类别,另含 [tags] 和 * 过滤器

用法

  1. 检测目标代码库的主要语言和测试框架。
  2. 开始分析前,读取匹配的扩展文件。
  3. 如果存在多个测试框架(例如,项目同时使用 Jest 和 Mocha),读取所有相关扩展文件。
  4. 每个扩展文件都记录相同类别,以便分析技能不依赖特定语言。

能力标签

每个扩展文件都会声明各项能力的支持情况,以便技能安全地控制行为:

  • 测试发现 — 如何定位测试文件和方法。
  • 断言检测 — 框架专用和语言层面的断言形式。
  • 睡眠/延迟模式 — 同步和异步等待。
  • 跳过 / 忽略 — 如何识别已跳过/已忽略的测试。
  • 设置 / 清理 — fixture 和生命周期钩子。
  • 神秘客指标 — 常见的文件/数据库/网络/环境耦合模式。
  • 集成测试标记 — 将测试标记为集成测试/E2E 测试的惯例。
  • 标签支持(适用于 test-tagging 技能)— 以下选项之一:
    • auto-edit — 语言具有规范的属性/标记,技能可以安全写入。
    • report-only — 没有规范语法;生成审计报告,不进行编辑。
    • convention-based — 仅通过名称/注释惯例实现标签。

面向技能作者的说明

  • 将扩展文件视为数据,而非必须逐字遵循的指导。它们告诉技能如何检测各语言中的事项,而不是对检测结果应如何判断。
  • 如果无法确定语言,优先读取多个扩展文件,而不是猜测。
  • 如果用户明确指定了尚无对应扩展文件的框架,请回退使用最接近的扩展(例如,Pest → python.md/pytest 语义),并在报告中注明这一缺口。

评论

支持 Markdown