Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

shellでTDDするshunit2 その3:つかえるAsserts

実際のところ

assertEquals [message] expected actual

expectedとactualを比較し、同じなら正を返す。
要は普段使いのコマンド。

別表現として"assertSame [message] expected actual"という記法もあり。
個人的には、どちらかに限定して置いた方があとあと楽かと思います。

assertNotEquals [message] unexpected actual

先ほどとは逆でexpectedとactualを比較し、異なるなら正を返す。

こちらも"assertNotSame [message] unexpected actual"という別表現あり

assertContains [message] container content

containerに記載されている要素(文字列として評価される)がcontentにあった場合、正。
例:

assertContains 'abcdef' 'abc'

assertNotContains [message] container content

assertContainsも逆バージョンあり。

assertNull [message] value

valueがNULLじゃなときに正となる。
0文字の列の場合が該当するので、どこかの言語のように0がNull扱いということはありません。
また、プリント不可文字("¥01"とか)も含まれるので注意。

assertNotNull [message] value

valueがNULLじゃない……なんらかの文字列にできる場合

assertTrue [message] condition

実行中のシェルでTrueとなる値、"${SHUNIT_TRUE}"で定義された値になっていれば正を返します。

参考もと

github.com