0

私はOOの問題で立ち往生しています。いくつかのアサーションを実行できる単純な単体テスト クラスがあります。たとえば、私のコードは次のようになります。

class TestSomething extends UnitTestCase
{
    public function someTest() { ... }
}

重要なことは、明らかに、テストの結果をどこかに記録することです。それは Web ページかもしれませんし、単なるファイルかもしれませんし、データベースかもしれません。

現在、ファイルにログを記録し、結果を Web ブラウザーに表示する必要があります。しかし、コードを可能な限り拡張可能にしたいと考えています。別のタイプの「ロギング」メカニズムを簡単に追加できるはずです。

したがって、現在、私のUnitTestCaseクラスは次のようになります。

class UnitTestCase
{
    protected function printHeader ( $testResults )
    {
    }

    protected function printResults ( $testResults )
    {
    }

    protected function printFooter ( $testResults )
    {
    }

    public function assertSomething() {...}
    // ... And alot of other assertions
}

現在、続行する方法がわからないため、何も記録していません。クラスにさまざまなタイプのロギング メカニズムを実装しUnitTestCase、コードをクリーンで OO に保つには、どのような方法がよいでしょうか?

4

0 に答える 0