Simpletestにtrueとfalseをちゃんと確認させる

phpユニットテストツールとして便利なSimpletestですが、困ったことにassertTrueやassertFalseといった基本的なメソッドの実装が若干雑です。
具体的には、assertTrue(1) とか assertFalse('') が通ってしまうため、本来は通らないはずのテストをパスしてしまう恐れがあります。

そこで、UnitTestCaseを継承した、以下のようなクラスを作成します。

class MyTestCase extends UnitTestCase {
    function assertTrue($result, $message='Expected true ') {
        return parent::assertTrue($result === true, $message);
    }

    function assertFalse($result, $message='Expected false ') {
        return parent::assertTrue($result === false, $message);
    }
}

これで、両者共に === で比較するようになるのでbool値も正しくテストできるようになります。

普段自分で使っているテストケースは、これ以外にも表示系でいろいろとネタを仕込んでいるのですが、それはまたの機会に。