PHPUnit-在child中实现抽象方法
我有一组只读测试和两个修改数据的测试(插入/更新/删除)。我想备份我的表,这样每个测试类都会有一个他们将要修改的相关表的列表。这只是测试数据 我这样想:PHPUnit-在child中实现抽象方法,php,phpunit,Php,Phpunit,我有一组只读测试和两个修改数据的测试(插入/更新/删除)。我想备份我的表,这样每个测试类都会有一个他们将要修改的相关表的列表。这只是测试数据 我这样想: abstract class DataAlteringTestBase extends PHPUnit_Framework_TestCase { protected function setUp() { echo "backing up tables: " . $this->GetAlteredTableNames();
abstract class DataAlteringTestBase extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
echo "backing up tables: " . $this->GetAlteredTableNames();
}
public abstract function GetAlteredTaleNames();
}
其中一个子类:
class DataAlteringTest extends DataAlteringTestBase
{
function GetAlteredTaleNames()
{
return array("some_table");
}
public function testDummyStuffChild()
{
$this->assertTrue(true);
}
}
我认为问题在于,PHPUnit试图从抽象类而不是它的子类获得方法实现
调用未定义的方法DataAlteringTest::GetAlteredTableNames()-
实现…\tests\DataAlteringTestBase.php:6-抽象
阶级
如何修复它?或者,在PHP/PHPUnit中实现这一点的想法有什么问题吗?您有一些拼写错误-您在某些地方编写了
GetAlteredTaleNames()
,在其他地方编写了GetAlteredTaleNames()
。作为注释可能更好,不是吗?:)@yivi,嗯,不是真的,评论是要求澄清或对问题提出改进建议,但不是真正回答问题——尽管如此,我意识到这个答案(或问题)对其他任何人都没有多大用处。我知道,但正如你正确指出的,这个问题是毫无价值的。通过回答这个问题,我们最终可能会让系统更难及时正确地删除它,至少我是这么想的。当然,你的回答没有本质上的错误。其他人可能会来这里寻找正确的答案,并阅读有关打字错误的文章。不酷,确实是这样。Thx。三年过去了,这个问题仍然存在,仅仅因为它有答案。我投票结束这个问题,因为它是一个打字错误。