PHPUnitのテストでは、カスタムアサーションを作成することがあります。今日、私はそれが本来あるべきものを完全に主張していないカスタム主張を見つけました。アサーション自体の単体テストを作成していれば、この問題は回避できたようです。
私が目にする唯一の問題は、テスト自体が失敗することなく、失敗するはずのアサーションのテストの記述をどのように処理するかがよくわからないことです。言い換えると、文字列'foo'を期待するテストの場合、次のようなことをしたいと思います。
public function testAssertFoo()
{
$var = 'bar';
$callable = array( $this, "assertFoo" );
$this->assertTestFails( $callable, $var );
}
もちろん、assertTestFailsアサーションはありません。しかし、そのようなことをするためのクリーンな方法はありますか?