mcpField
T
test

test

github.com/bitwize-music-studio测试与质量609221 次安装2 周前更新
代码仓库

关于 test

test 是用于运行插件自动化测试和分类检查的技能,涵盖 pytest 校验及端到端测试。它面向插件维护者,整理测试结果并提供可操作的失败详情。

主要功能

  1. 01运行完整测试套件
  2. 02执行快速 pytest 检查
  3. 03按类别选择测试
  4. 04汇总通过与失败数量
  5. 05提供文件和行号详情

适用场景

  1. 01修改后检查插件完整性
  2. 02运行单个类别的定向测试
  3. 03定位失败并规划修复

安装

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

$npx skills add https://github.com/bitwize-music-studio/claude-ai-music-skills --skill test

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

附带文件test-definitions.md

详细介绍

你的任务

输入:$ARGUMENTS

运行自动化测试以验证插件完整性。逐项执行测试,并清晰报告结果。

默认行为:如果未提供参数,则运行所有测试。


插件测试套件

你是插件的自动化测试运行器。执行每项测试,记录通过/失败情况,并报告可采取行动的结果。

快速自动化测试(/test quick)

如需快速自动验证,请运行 pytest 测试套件。先调用 get_python_command() 获取 $PYTHON(虚拟环境解释器路径——在所有操作系统上均正确,包括原生 Windows):

$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

涵盖:

  • 插件测试(tests/plugin/)——Frontmatter、模板、参考文档、链接、术语、一致性、配置、状态、流派、集成
  • 单元测试(tests/unit/)——状态解析器/索引器、共享实用程序、母带处理函数

运行特定类别:

$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py -v       # Skills only
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/ -v                      # All plugin tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/unit/ -v                        # All unit tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -m "not slow" -v               # Skip slow tests

pytest 能快速捕获常见问题。如需深入的行为测试,请使用下方的完整测试套件。

输出格式

════════════════════════════════════════
CATEGORY: Test Category Name
════════════════════════════════════════

[PASS] Test name
[FAIL] Test name
       → Problem: what's wrong
       → File: path/to/file:line
       → Fix: specific fix instruction

────────────────────────────────────────
Category: X passed, Y failed
────────────────────────────────────────

最后:

════════════════════════════════════════
FINAL RESULTS
════════════════════════════════════════
config:       X passed, Y failed
skills:       X passed, Y failed
templates:    X passed, Y failed
...
────────────────────────────────────────
TOTAL:        X passed, Y failed, Z skipped
════════════════════════════════════════

测试类别

所有测试定义都在 test-definitions.md 中。

共 14 个类别:config、skills、templates、workflow、suno、research、mastering、sheet-music、release、consistency、terminology、behavior、quality、e2e。

运行测试前请先阅读该文件,了解每项测试的检查内容。


运行测试

命令

命令描述
/test 或 /test all运行所有测试
/test quick运行 Python 测试运行器(快速自动检查)
/test config配置系统测试
/test skills技能定义和文档
/test templates模板文件测试
/test workflow专辑工作流文档
/test sunoSuno 集成测试
/test research研究工作流测试
/test mastering母带处理工作流测试
/test sheet-music乐谱生成测试
/test release发布工作流测试
/test consistency交叉引用检查
/test terminology语言一致性测试
/test behavior基于场景的测试
/test quality代码质量检查
/test e2e端到端集成测试

通过 pytest 运行快速测试

开发期间如需快速验证,可直接使用 pytest。先调用 get_python_command() 获取 $PYTHON(虚拟环境解释器路径——在所有操作系统上均正确):

# Run all tests
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v

# Run specific test modules
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_skills.py ${CLAUDE_PLUGIN_ROOT}/tests/plugin/test_templates.py -v

# Verbose with short tracebacks
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -v --tb=short

# Quiet mode (for CI/logs)
$PYTHON -m pytest ${CLAUDE_PLUGIN_ROOT}/tests/ -q --tb=line

tests/plugin/ 中的测试模块:

  • test_skills.py - Frontmatter、必填字段、模型验证
  • test_templates.py - 模板是否存在及其结构
  • test_references.py - 参考文档是否存在
  • test_links.py - Markdown 内部链接
  • test_terminology.py - 检查已弃用术语
  • test_consistency.py - 版本同步、技能数量
  • test_config.py - 配置文件验证
  • test_state.py - 状态缓存工具验证
  • test_genres.py - 流派目录交叉引用
  • test_integration.py - 跨技能前置条件链

添加新测试

发现 Bug 时:

  1. 确定该测试所属的类别
  2. 添加一个能够捕获该 Bug 的测试
  3. 运行 /test [category],确认测试失败
  4. 修复 Bug
  5. 运行 /test [category],确认测试通过
  6. 提交修复和新测试

**规则:**每次修复 Bug 都应添加回归测试。


执行提示

  • 使用 Grep,并设置 output_mode: content 和 -n 以显示行号
  • 使用 Glob 按模式查找文件
  • 使用 Read 检查文件内容
  • 谨慎使用 Bash(用于 YAML/JSON 验证)
  • 报告失败项的准确文件路径和行号
  • 提供具体、可执行的修复说明
  • 将相关测试分组,以便阅读
  • 缺少前置条件时,妥善跳过测试

评论

支持 Markdown