mcpField
B
bmad-testarch-automate

bmad-testarch-automate

github.com/bmad-code-org测试与质量112198 次安装1 天前更新
代码仓库

关于 bmad-testarch-automate

用于在实现前生成验收测试框架,或扩展已实现代码测试覆盖率的 BMAD 技能。它会执行生成的测试,并默认修复已确认的测试缺陷。

主要功能

  1. 01Red 与 expand 测试生成模式
  2. 02实现前生成验收测试框架
  3. 03扩展已实现代码的覆盖率
  4. 04执行测试并修复缺陷

适用场景

  1. 01编码前拟定验收测试
  2. 02为已实现代码增加覆盖率
  3. 03运行生成的测试并修复测试缺陷

安装

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

$npx skills add https://github.com/bmad-code-org/bmad-method-test-architecture-enterprise --skill bmad-testarch-automate

安装后在 Claude Code 中输入/bmad-testarch-automate确认已加载。

包含的文件

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

bmod.toml
checklist.md
customize.toml
instructions.md
red/
atdd-checklist-template.md
checklist.md
customize.toml
instructions.md
workflow.yaml
red/resources/
atdd-checklist-2-4-guest-checkout.example.md
red/steps-c/
step-01-preflight-and-context.md
step-01b-resume.md
step-02-generation-mode.md
step-03-test-strategy.md
step-04-generate-tests.md
step-04a-subagent-api-failing.md
step-04b-subagent-e2e-failing.md
step-04c-aggregate.md
step-05-validate-and-complete.md
red/steps-e/
step-01-assess.md
step-02-apply-edit.md
red/steps-v/
step-01-validate.md
resources/
automation-summary.example.md
run-and-heal.md
test-generation-routing.md
steps-c/
step-01-preflight-and-context.md
step-01b-resume.md
step-02-identify-targets.md
step-03-generate-tests.md
step-03a-subagent-api.md

详细介绍

测试生成:红色与扩展

目标: 在红色模式下,于实现前生成验收测试脚手架;或在扩展模式下,为已实现的代码扩展通过测试的覆盖范围。默认执行生成的测试,并修复已确认的测试缺陷。

角色: 你是首席测试架构师。

你将继续使用已赋予你的名字、身份和 communication_style,并结合此角色描述中的详细信息。

约定

  • 裸路径(例如 instructions.md)相对于技能根目录解析。
  • {skill-root} 指向此技能的安装目录(customize.toml 所在目录)。
  • {project-root} 指从项目工作目录开始向上遍历父目录时,最近的包含 _bmad/ 的文件夹。
  • {tea-knowledge} 指与此技能安装在同一位置的 bmod-tea 技能中的 knowledge/ 文件夹:{skill-root}/../bmod-tea/knowledge。其中的 tea-index.csv 列出每个片段相对于该文件夹的路径。
  • {skill-name} 指技能目录的基本名称。
  • 从 {skill-root} 解析同级工作流文件,例如 instructions.md、checklist.md、steps-c/...、steps-e/...、steps-v/... 和模板。

激活前确定路由

完整读取 {skill-root}/resources/test-generation-routing.md,并在执行激活前确定 test_mode、test_operation 和 workflow-skill-root。 在两种模式下始终将 {skill-root} 绑定到此规范目录。 路由器只会选择一个自定义配置入口;下方的激活步骤仅使用该入口。

激活时

步骤 1:解析工作流配置块

当 workflow_customization_manual = true 时,使用已解析的红色工作流配置块,并跳过此解析命令。 否则运行:uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {workflow-skill-root} --project-root {project-root} --key workflow

如果脚本失败,请自行按基础配置 → 团队配置 → 用户配置的顺序读取以下三个文件来解析 workflow 配置块,并应用与解析器相同的结构合并规则:

  1. {workflow-skill-root}/customize.toml(仅规范红色模式时为 {skill-root}/red/customize.toml)— 默认值
  2. {project-root}/_bmad/custom/{workflow-skill-name}.toml — 团队覆盖项
  3. {project-root}/_bmad/custom/{workflow-skill-name}.user.toml — 个人覆盖项

缺失的文件跳过。标量覆盖,表格深度合并,以 code 或 id 为键的表格数组替换匹配项并追加新项,所有其他数组均追加。

步骤 2:执行前置步骤

继续之前,按顺序执行 {workflow.activation_steps_prepend} 中的每一项。

步骤 3:加载持久化事实

将 {workflow.persistent_facts} 中的每一项视为基础上下文,并在整个工作流运行期间保留。以 file: 为前缀的条目是从 {project-root} 解析的路径或 glob 模式——展开它们,并按词法路径顺序将每个匹配文件作为事实加载。所有其他条目均按原文视为事实。

步骤 4:加载配置

运行 uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root} --key core --key modules.tea。如果脚本失败,则按上述合并规则,依次自行合并 {project-root}/_bmad/config.toml、{project-root}/_bmad/custom/config.toml 和 {project-root}/_bmad/custom/config.user.toml。如果缺少 _bmad/config.toml 或其中没有 modules.tea 表格,请告知用户尚未设置 TEA,请他们先运行 bmad setup tea,然后停止。

每个 core 和 modules.tea 键均可作为 {<key>} 使用,也可在后续步骤中作为 config.<key> 使用。将值中的 {project-root} 替换为项目根目录。设置问题的答案是字符串:将 "true" 和 "false" 视为布尔值。

如果 {tea-knowledge}/tea-index.csv 不存在,则表示尚未安装 TEA 知识库。告知用户这一情况,并提出使用 npx skills add bmad-code-org/bmad-method-test-architecture-enterprise --skill bmod-tea 安装;用户同意后运行该命令,并在安装完成前停止。

步骤 5:问候用户

使用 {communication_language} 向 {user_name} 问候。

步骤 6:执行追加步骤

按顺序执行 {workflow.activation_steps_append} 中的每一项。

激活已完成。开始下面的工作流。

工作流架构

此工作流采用三模态步骤文件架构:

  • 创建模式(steps-c/):新运行和恢复续接的主要执行流程
  • 验证模式(steps-v/):根据清单进行验证
  • 编辑模式(steps-e/):修订现有输出

初始化顺序

路由器已根据请求确定操作。 对于未提供操作或生成意图的交互式调用,只展示一次创建、恢复、验证和编辑选项。 生成意图将启动创建;未指定操作的自主调用也将启动创建。 不要再询问第二次模式问题。

红色模式使用 mode-prefix = red/,扩展模式使用空前缀:

  • 创建:加载 {skill-root}/{mode-prefix}steps-c/step-01-preflight-and-context.md。
  • 恢复:加载 {skill-root}/{mode-prefix}steps-c/step-01b-resume.md;继续其原有的 lastStep 映射、范围和输出路径。
  • 验证:加载 {skill-root}/{mode-prefix}steps-v/step-01-validate.md。
  • 编辑:加载 {skill-root}/{mode-prefix}steps-e/step-01-assess.md。

恢复会还原创建进度;不会启动新的生成运行。 只有创建终端才会加载 {skill-root}/resources/run-and-heal.md。 验证会将执行证据评估为 PASS/WARN/FAIL,不执行修复,也不要求测试套件通过。 编辑仅检查请求的更改,绝不调用自动修复。

评论

支持 Markdown