はじめに
Bash スクリプトは非常に便利ですが、その信頼性を確保するためには適切なテストが不可欠です。この記事では、Bats(Bash Automated Testing System)を使って Bash スクリプトのユニットテストを行う方法を紹介します。Bats は、Bash スクリプトをテストするための強力なツールで、シンプルな構文と使いやすさが特徴です。
インストールとセットアップ
最初に、Bats をインストールしセットアップします。Linux の場合、以下のコマンドを使用します。
sudo apt-get install
テスト対象の Bash スクリプト
この記事では、簡単な計算機スクリプト calculator.sh
をテスト対象として使用します。
#! /bin/bash
add () {
echo $(($1 + $2))
}
subtract () {
echo $(($1 - $2))
}
テストの書き方
Bats を使用してテストを記述するには、Bats テストスクリプトを作成します。以下は、calculator.sh
のテストを行うためのサンプルスクリプト calculator_test.bats
です。
#!/usr/bin/env bats
# テスト対象のスクリプトを読み込む
load 'calculator.sh'
# add 関数のテスト
@test "2 + 3 は 5 に等しい" {
result="$(add 2 3)"
[ "$result" -eq 5 ]
}
# subtract 関数のテスト
@test "5 - 2 は 3 に等しい" {
result="$(subtract 5 2)"
[ "$result" -eq 3 ]
}
このテストスクリプトでは、load
コマンドを使用してテスト対象のスクリプトを読み込み、@test
ブロック内でテストケースを定義しています。
テストの実行
テストを実行するには、ターミナルで次のコマンドを実行します。
bats calculator_test.bats
✓ 2 + 3は5に等しい
✓ 5 - 2は3に等しい
2 tests, 0 failures
Bats はテストを実行し、各テストケースの結果を表示します。このサンプルでは、calculator.sh
スクリプトの add
と subtract
関数が正しく動作することを確認するテストケースを含んでいます。
結論
Bats を使用すると、Bash スクリプトのユニットテストを簡単に実行できます。テストはスクリプトの品質を向上させ、バグを早期に発見するのに役立ちます。ぜひ Bats を試して、Bash スクリプトの信頼性を高めましょう。
これで、Bats を使った Bash スクリプトのユニットテストについてのブログ記事の形式ができました。記事にはもちろん詳細な説明やスクリプトの詳細が必要ですが、この基本的な構造をベースに拡充していくことができます。