TL;DR
BDD を採用した、シェルスクリプトのためのテスティングフレームワーク。bash、ksh、zsh、dash をはじめ、POSIX 準拠のシェルで動く。
仕組み
テストは Describe、It、When、The ... should といったブロックで書く。テストの前後に処理を差し込むフック、関数やコマンドのモック、パラメータ化テスト、-j オプションによる並列実行を備えている。kcov を使ったコードカバレッジも出力できる。
例
Describe 'calc.sh'
Include lib/calc.sh
It 'adds two numbers'
When call add 2 3
The output should eq 5
End
Endlib/calc.sh を読み込み、add 関数に 2 と 3 を渡した出力が 5 になることを確かめている。
注意点
コードカバレッジは DEBUG トラップを実装している bash、zsh、ksh でしか使えない。