assertFoo($expected, $actual)
エラー「スタック トレース」に関して組み込みアサーションのように動作する、のようなカスタム アサーションを作成するにはどうすればよいですか?
現在、次のメソッドが定義されています(を拡張するクラス内PHPUnit_Framework_TestCase
):
public static function assertFoo($expected, $actual) {
self::assertEquals($expected, $actual);
}
これをテストから呼び出してテストが失敗した場合、コール スタックに次の 2 つの項目が表示されます。
1) PreferencesTest::testSignupTeacher
Failed asserting that 5 matches expected 3.
/vagrant/myproject/tests/integration/PreferencesTest.php:17
/vagrant/myproject/tests/integration/PreferencesTest.php:136
17 行目はassertFoo()
、ビルトインを呼び出してassertEquals()
失敗する場所です。136行目assertFoo()
というところがあります。
テストをassertEquals()
直接呼び出すように変更すると、次の 1 つしか得られません。
1) PreferencesTest::testSignupTeacher
Failed asserting that 3 is true.
/vagrant/myproject/tests/integration/PreferencesTest.php:136
マニュアルにはいくつかのドキュメントがありますが、これをカバーしていないようです。