moritetuのIT関連技術メモ

shUnit2

xUnit系テストツールのシェル版である。

インストール

特別な操作は不要。
ソースをダウンロードして、任意の場所に設置するだけである。
非常に簡単である。

テスト

特別な設定は不要であり、テストプログラムの中でshunit2プログラムをインクルードするだけである。

sample.sh

#! /bin/sh

testEquality() {
  assertEquals 1 1
}
# shunit2テストをインクルード、テストが実行される
. /path/to/shunit2

テストプログラム

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>...]]

参考リンク


トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
目次
ダブルクリックで閉じるTOP | 閉じる
GO TO TOP