読者です 読者をやめる 読者になる 読者になる

CakePHP2とPHPUnitとSimpleTestと

CakePHP

CakePHP2系になってからはPHPUnitがテストに使われていてそれを使ってテスト書いてるんだけど
assert文を微妙に間違ってるなあって気づいた。けど動いてるのでなんでかなと思った。


ちなみにassertEqualsをassertEqualって書いてた。
答えはまんま下のページに書いてあった


CakePHP2系は1.3系からかなり変わっていてテストもSimpleTestからPHPUnitに変わっている。
SimpleTestにassertEqualっていうassertがあって移行期間としての一時的な処置でラッパーが用意されていてカバーしてくれていたので
assertEqualと書いてもassertEqualsとして動いてくれていたのであった。


上記ページにも書いてあるがこれは一時的な処置のようで2.1では削除予定とのことなので
PHPUnitのassertを間違えずに使っていこうという話。


ちなみにそのラッパーはどのへんにあるかというとこのへんにある。一部抜粋
lib/Cake/TestSuite/CakeTestCase.php

/**
 * Compatibility wrapper function for assertEquals
 *
 * @param mixed $result
 * @param mixed $expected
 * @param string $message the text to display if the assertion is not correct
 * @return void
 */
    protected static function assertEqual($result, $expected, $message = '') {
        return self::assertEquals($expected, $result, $message);
    }

また関係はないがPHPUnitは日本語でドキュメントがあるので大変重宝してます