Подтвердить что ты не робот

Предупреждение phpunit на служебном классе

Я использую phpUnit на сервере интеграции для запуска всех тестов, и если я запустил команду phpunit из командной строки, я получаю:

PHPUnit 3.2.18 by Sebastian Bergmann.
F..III..I......I.IIII...
Time: 6 seconds
There was 1 failure:

1) Warning(PHPUnit_Framework_Warning)
No tests found in class "TU".
FAILURES
Tests: 24, Failures: 1, Incomplete: 9.

Через apache, запускающий один и тот же тестовый файл:

PHPUnit 3.2.18 by Sebastian Bergmann.
..III..I......I.IIII...
Time: 7 seconds

OK, but incomplete or skipped tests!
Tests: 23, Incomplete: 9.

Мой класс TU включает только все классы тестов с $suite->addTestFile(), и которые имеют две статические функции: main(), которые запускают все тесты, и suite(), которые возвращают набор тестов. Но класс TU не находится в основном файле, указанном как параметр для phpunit, это общий класс, в котором сканируются файлы и список всех тестов класс.

У меня такая же проблема с классом, который расширяет PHPUnit_Framework_TestCase, чтобы добавить конкретный assert(), который не включается через $suite- > addTestFile(), а только require().

Как я могу это исправить? Спасибо заранее

Отношения Седрик

4b9b3361

Ответ 1

Для класса, который расширяет PHPUnit_Framework_TestCase, он должен быть абстрактным, и предупреждение исчезает. Для первой проблемы кажется, что это ошибка.

Ответ 2

Похоже, вы используете два разных файла php.ini для командной строки и Apache.

В большинстве UNIX-систем, работающих

diff /etc/php*/*/php.ini

должен показать вам отличия.

В системах Windows используйте поиск, чтобы найти файлы с именем php.ini. В большинстве случаев вы можете просто скопировать файл конфигурации Apache в CLI.