2017-01-19 2 views
-2

У меня есть набор тестов только для чтения и несколько из них, которые изменяют данные (вставка/обновление/удаление). Я хотел бы создать резервные копии моих таблиц, поэтому каждый тестовый класс будет иметь список связанных таблиц, которые они изменят. Это всего лишь тестовые данные.PHPUnit - реализация абстрактного метода у ребенка

Таким образом, я думал об этом:

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() - реализация ... \ Тесты \ DataAlteringTestBase.php: 6 - абстрактный класс

Как это исправить? или что-то не так с идеей реализации этого в PHP/PHPUnit в первую очередь?

+0

Я голосую, чтобы закрыть этот вопрос как не по теме, потому что это была ошибка типографии. – Buffalo

ответ

-1

У вас есть несколько опечаток - в некоторых местах вы указали GetAlteredTaleNames() и GetAlteredTableNames() в других местах.

+0

Наверное, лучше, как комментарий, не так ли? :) – yivi

+0

@yivi, хм на самом деле, комментарии должны запрашивать разъяснения или предлагать улучшения в вопросе, но не отвечать на вопрос - https://stackoverflow.com/help/privileges/comment. Говоря, я понимаю что этот ответ (или вопрос) не будет полезен никому другому. –

+0

Я знаю, но, как вы правильно указываете, вопрос выглядит бесполезным. Отвечая на это, мы могли бы в конечном итоге усложнить систему, чтобы она своевременно удаляла ее, или, как я думал. Разумеется, нет ничего неправильного в вашем ответе. Кто-то еще может прийти сюда, чтобы найти правильный ответ и прочитать опечатке. Распущено. – yivi