Как интегрировать PHPUnit в пользовательский фреймворк - PullRequest
2 голосов
/ 10 мая 2009

Я хотел бы интегрировать PHPUnit в мою среду. Под этим я подразумеваю, что в начале я должен выполнить некоторую инициализацию, например настроить автозагрузку, прежде чем запускать тесты.

Я хотел бы использовать тестер cli, и, если я правильно понимаю, мне нужно создать класс со статической функцией suite (), который возвращает экземпляр PHPUnit_Framework_TestSuite, и добавить тесты в этот набор как отмечено на http://www.phpunit.de/manual/current/en/textui.html.

До сих пор я придумал:

class MyTestFW {
    public static function suite() {
        // Do framework initialization here

        $suite = new PHPUnit_Framework_TestSuite();
        $suite->addTest(new SimpleTest());

        // Add more tests

        return $suite;
    }
}

SimpleTest - это очень простой тестовый класс, который расширяет PHPUnit_Framework_TestCase. Когда я запускаю "phpunit MyTestFW", я всегда получаю:

PHPUnit 3.3.16 by Sebastian Bergmann.

E

Time: 0 seconds

There was 1 error:

1) (SimpleTest)
RuntimeException: PHPUnit_Framework_TestCase::$name must not be NULL.

Может ли кто-нибудь помочь мне немного, пожалуйста?

1 Ответ

2 голосов
/ 10 мая 2009

PHPUnit_Framework_TestCase::$name устанавливается в конструкторе TestCase, так что вы можете попробовать это:

$suite->addTest(new SimpleTest('simpletest'));

edit1:

Я не знаю ваш код, поэтому не знаю, поможет ли это.
Обычно я вижу следующее (в качестве замены вышеупомянутого, а не дополнения):

$suite->addTestSuite('SimpleTest');

edit2:

Документация phpunit: Глава 7 - Организация тестов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...