关于 write-bats-test
在 setup.sh 或 context.sh 的行为发生变化时,用于编写 bats-core 测试的技能。它强调在临时目录中验证可观察的契约,并运行完整测试套件。
主要功能
- 01遵循现有测试约定
- 02测试新增或变更的行为
- 03在临时目录隔离文件操作
- 04运行完整 bats 测试套件
适用场景
- 01添加 setup.sh 标志
- 02更改 context.sh 输出字段
- 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 新增或变更行为时(例如新增标志、新增检测分支或新增输出字段)。
步骤
- 阅读现有测试,遵循其风格并使用相应辅助工具:
tests/setup-sh.bats、tests/context-sh.bats。 - 为新增行为添加
@test用例。对于任何文件系统操作,使用临时的HOME/临时目录,确保测试套件不会触碰开发者的~/.claude。 - 断言应针对可观察到的约定:
context.sh输出的 JSON 字段、setup.sh创建的符号链接名称,以及退出码。 - 运行
bats tests/,反复调整,直到测试全部通过。
验证
bats tests/ 通过,包括新增用例,且测试套件不会在临时目录之外留下任何产物。
备注
测试必须在 bash 3.2 上运行。优先测试公开约定(标志、符号链接名称、JSON 键),而非内部实现,以免重构导致测试套件频繁变动。
评论
支持 Markdown