我遇到了一个面向对象的问题。我有一个简单的单元测试类,我可以用它做一些断言。例如,我的代码可能如下所示:
class TestSomething extends UnitTestCase
{
public function someTest() { ... }
}
很重要的一点显然是将测试结果记录到某个地方。这可能是一个网页,或者只是一个文件,或者可能是一个数据库。
目前我需要登录到一个文件并在网络浏览器中显示结果。但我想让我的代码尽可能地可扩展。添加另一种类型的“日志记录”机制应该很容易。
所以目前我的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 的好方法是什么?