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. 04bats テストスイート全体を実行

活用シーン

  1. 01setup.sh にフラグを追加
  2. 02context.sh の出力フィールドを変更
  3. 03検出処理を更新

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/write-bats-testを入力して読み込まれたか確認します。

詳細

Bats テストの作成

目標

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 キー)のテストを優先してください。

コメント