mcpField
W
write-bats-test

write-bats-test

github.com/dailybothq测试与质量2348 次安装2 天前更新
代码仓库

关于 write-bats-test

在 setup.sh 或 context.sh 的行为发生变化时,用于编写 bats-core 测试的技能。它强调在临时目录中验证可观察的契约,并运行完整测试套件。

主要功能

  1. 01遵循现有测试约定
  2. 02测试新增或变更的行为
  3. 03在临时目录隔离文件操作
  4. 04运行完整 bats 测试套件

适用场景

  1. 01添加 setup.sh 标志
  2. 02更改 context.sh 输出字段
  3. 03更新检测行为

安装

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

$npx skills add https://github.com/dailybothq/deepworkplan-skill --skill write-bats-test

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

详细介绍

编写 Bats 测试

目标

为新增或变更的 Shell 行为编写符合 tests/ 现有规范的 bats-core 测试。

适用场景

当 setup.sh 或 skills/deepworkplan/shared/context.sh 新增或变更行为时(例如新增标志、新增检测分支或新增输出字段)。

步骤

  1. 阅读现有测试,遵循其风格并使用相应辅助工具: tests/setup-sh.bats、tests/context-sh.bats。
  2. 为新增行为添加 @test 用例。对于任何文件系统操作,使用临时的 HOME/临时目录,确保测试套件不会触碰开发者的 ~/.claude。
  3. 断言应针对可观察到的约定:context.sh 输出的 JSON 字段、setup.sh 创建的符号链接名称,以及退出码。
  4. 运行 bats tests/,反复调整,直到测试全部通过。

验证

bats tests/ 通过,包括新增用例,且测试套件不会在临时目录之外留下任何产物。

备注

测试必须在 bash 3.2 上运行。优先测试公开约定(标志、符号链接名称、JSON 键),而非内部实现,以免重构导致测试套件频繁变动。

评论

支持 Markdown