bats-testing-patterns は何をしますか?
Bash Automated Testing System (Bats) をマスターし、シェルスクリプトの包括的なテストを実行します。シェルスクリプトのテスト、CI/CD パイプライン、またはシェルユーティリティのテスト駆動開発が必要な場合に使用します。
概要
このスキルは、Bats テストフレームワークを使用してシェルスクリプトを効果的にテストするためのパターンと実践的な例を提供します。
主な機能
- Bats テストの作成: シェルスクリプトのユニットテストと統合テストの記述方法
- アサーションパターン: 出力、終了コード、ファイル状態の検証
- モックとスタブ: 外部依存関係をシミュレートするためのテクニック
- CI/CD 統合: 継続的インテグレーションパイプラインでのテスト自動化
- セットアップとティアダウン: テストフィクスチャの管理
使用方法
スキルを利用するには、以下の手順に従ってください。
-
Bats をインストールします:
npm install -g bats -
テストファイルを作成します:
#!/usr/bin/env bats setup() { # テスト環境のセットアップ } @test "example test" { run echo "Hello, World!" [ "$status" -eq 0 ] [ "${lines[0]}" = "Hello, World!" ] } -
テストを実行します:
bats test_file.bats
テストパターン
出力のテスト
@test "test stdout output" {
run my_command
[ "$output" = "expected output" ]
}
終了コードのテスト
@test "test exit code" {
run my_command
[ "$status" -eq 0 ]
}
ファイル操作のテスト
@test "test file creation" {
run touch /tmp/test.txt
[ -f /tmp/test.txt ]
rm /tmp/test.txt
}
ベストプラクティス
- テストは独立して実行可能に保つ
- セットアップとティアダウンを適切に使用する
- 環境変数はテスト内で明示的に設定する
- テストの目的を明確にする
参考資料
ライセンス
このスキルは MIT ライセンスの下で提供されています。