用途
write-bats-test 用于为 shell 脚本添加或扩展 bats-core 测试,并遵循 tests/ 目录下已有的测试约定。它适用于 setup.sh 或 skills/deepworkplan/shared/context.sh 获得或改变行为时,例如新增一个标志、新增一个检测分支或新增一个输出字段。
主要能力
该技能围绕“用与现有约定一致的 bats-core 测试覆盖新增或变更的 shell 行为”这一目标展开,具体包括:
- 阅读现有测试以匹配风格与辅助函数:tests/setup-sh.bats、tests/context-sh.bats。
- 为新行为添加 @test 用例。
- 对任何文件系统影响使用一次性的 HOME/临时目录,确保测试套件不会触碰开发者的 ~/.claude。
- 将断言保持在可观察契约上:context.sh 发出的 JSON 字段、setup.sh 创建的符号链接名称、退出码。
- 运行 bats tests/ 并迭代直至全部通过。
使用方式
按照技能给出的步骤执行:先阅读 tests/setup-sh.bats 与 tests/context-sh.bats 以匹配风格和辅助函数;再为新行为添加 @test 用例;对文件系统操作使用一次性的 HOME/临时目录;断言聚焦于可观察契约;最后运行 bats tests/ 并迭代至绿色通过。
适用场景
当 setup.sh 或 skills/deepworkplan/shared/context.sh 的行为发生变化时使用,包括新增标志、新增检测分支或新增输出字段等情形。
验证与限制
验证标准为:bats tests/ 通过(包括新增用例),并且测试套件不在其临时目录之外留下任何产物。
限制与注意事项:测试必须能在 bash 3.2 上运行;应优先测试公共契约(标志、符号链接名称、JSON 键)而非内部实现,以便重构不会导致测试套件频繁变动。
关于该技能的收费、价格、支持平台等更多信息,资料中暂未提供。