私は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 に保つには、どのような方法がよいでしょうか?