shUnit2 †
xUnit系テストツールのシェル版である。
インストール †
特別な操作は不要。
ソースをダウンロードして、任意の場所に設置するだけである。
非常に簡単である。
テスト †
特別な設定は不要であり、テストプログラムの中でshunit2プログラムをインクルードするだけである。
例 sample.sh
#! /bin/sh testEquality() { assertEquals 1 1 } # shunit2テストをインクルード、テストが実行される . /path/to/shunit2
テストプログラム †
- テストファイルは、suffixが_test.shとする。
- テスト対象の関数は、
test_runner †
テスト実行のためのヘルパーである。
suffixが、_test.sh
であるテストファイル見つけてまとめて実行してくれる(テストスイートの実行である)。
特定のシェル環境で実行したり、指定がしなければデフォルトで複数のシェル環境でテストを実行してくれる。
# テスト対象 testVarShouldNotbeEmpty() { assertNotNull '$var is not empty' "$msg" } # テスト対象でない hoge() { assertNotNull '$var is not empty' "$msg" }
デフォルトのシェル環境は以下のとおり。
/bin/sh ash /bin/bash /bin/dash /bin/ksh /bin/pdksh /bin/zsh
サンプル test_runnerの実行例
shunit2の配下にあるテストでない場合は、shunit2のlib
ディレクトリの場所を指定すると流れる。
テスト対象は、テスト実行ディレクトリ($PWD
)にある_test.sh
のファイルである。
$ shunit2 <a test file> [<func> [<func>...]]