PHPUnit - 在子进程中实现抽象方法
PHPUnit - implementing abstract method in child
我有一组只读测试和一些修改数据的测试 (insert/update/delete)。我想备份我的表,所以每个测试 class 都会有一个他们将修改的关联表的列表。这只是测试数据。
我是这样想的:
abstract class DataAlteringTestBase extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
echo "backing up tables: " . $this->GetAlteredTableNames();
}
public abstract function GetAlteredTaleNames();
}
子class之一:
class DataAlteringTest extends DataAlteringTestBase
{
function GetAlteredTaleNames()
{
return array("some_table");
}
public function testDummyStuffChild()
{
$this->assertTrue(true);
}
}
我认为问题在于 PHPUnit 试图从抽象 class 而不是其子项中获取方法实现。
Call to undefined method DataAlteringTest::GetAlteredTableNames() -
the implementation ...\tests\DataAlteringTestBase.php:6 - the abstract
class
如何解决?或者首先在 PHP/PHPUnit 中实现这个想法有什么问题吗?
您有一些错别字 - 您在某些地方写了 GetAlteredTaleNames()
,在其他地方写了 GetAlteredTableNames()
。
我有一组只读测试和一些修改数据的测试 (insert/update/delete)。我想备份我的表,所以每个测试 class 都会有一个他们将修改的关联表的列表。这只是测试数据。
我是这样想的:
abstract class DataAlteringTestBase extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
echo "backing up tables: " . $this->GetAlteredTableNames();
}
public abstract function GetAlteredTaleNames();
}
子class之一:
class DataAlteringTest extends DataAlteringTestBase
{
function GetAlteredTaleNames()
{
return array("some_table");
}
public function testDummyStuffChild()
{
$this->assertTrue(true);
}
}
我认为问题在于 PHPUnit 试图从抽象 class 而不是其子项中获取方法实现。
Call to undefined method DataAlteringTest::GetAlteredTableNames() - the implementation ...\tests\DataAlteringTestBase.php:6 - the abstract class
如何解决?或者首先在 PHP/PHPUnit 中实现这个想法有什么问题吗?
您有一些错别字 - 您在某些地方写了 GetAlteredTaleNames()
,在其他地方写了 GetAlteredTableNames()
。