У меня есть набор тестов только для чтения и несколько тестов, которые изменяют данные (вставка / обновление / удаление). Я хотел бы сделать резервную копию своих таблиц, чтобы у каждого тестового класса был список связанных таблиц, которые они будут изменять. Это просто тестовые данные.
Я, таким образом, подумал об этом:
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()
в некоторых местах и GetAlteredTableNames()
в других местах.
Других решений пока нет …