Предупреждение 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 для добавления определенного утверждения(), который не включается через $suite->addTestFile(), а только с помощью require().
Как я могу это исправить?заранее спасибо
С уважением Cédric
Решение
Для класса, расширяющего PHPUnit_Framework_TestCase, он должен быть абстрактным, и предупреждение исчезнет.По первой проблеме, похоже, это ошибка.
Другие советы
Похоже, вы используете два разных php.ini
файлы для командной строки и Apache.
В большинстве unixoid-систем при запуске
diff /etc/php*/*/php.ini
должен показать вам различия.
В системах Windows используйте поиск, чтобы найти файлы с именем php.ini
.В большинстве случаев вы можете просто скопировать файл конфигурации Apache в файл CLI.