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

StackOverflow https://stackoverflow.com/questions/391390

  •  23-08-2019
  •  | 
  •  

Вопрос

Я использую 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top