技術的雑談-Simpletestのassert、failの挙動
環境
- PHP 5.2.6、5.2.11
- simpletest1.0.1、1.1b
現象
- simpletestでUnit Testを書いた時、assertXxxxx()でアサーションに失敗したとき、fail()を呼び出したときでもその後のコードが実行される
原因
simpletestの仕様っぽいです。
対処
JUnitやC++unitに慣れていると挙動が違うので注意しましょう。
逆に考えるとアサーション失敗時でもfail時でもテストの後始末処理が(tearDown()をむやみやたらと高機能にしなくても)実行されるので便利といえば便利です。
アサーション失敗時やfail時にテストケースをそこで終わらせたい場合はreturnするしかないでしょう。
履歴
2009/12/18 -- 初版
技術的雑談へ戻る