Bye Bye Moore

猫マンション建築の野望を胸に零細事業主として資本主義の荒波に漕ぎ出したアラサー男の技術メモ

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