Рейтинг:-1

PHPUNIT успешно работает на локальном компьютере, но выдает ошибку на acquia-pipleine

флаг ye

Когда я запускаю .vendor/bin/phpunit, он не дает никаких ошибок. п/п:

Тестирование . 1 / 1 (100%)

Время: 00:00.014, Память: 14.00 МБ

ОК (1 тест, 1 утверждение)

Когда я запускаю то же самое в сборке acquia-pipeline, это дает следующую ошибку.

Выполнение пошагового теста.

  • ./vendor/bin/phpunit docroot/modules/custom

PHPUnit 9.5.9 Себастьяна Бергманна и соавторов.

Тесты не проводились!

Оставшиеся прямые уведомления об устаревании (4)

1x: Класс «Drupal\Component\EventDispatcher\Event» расширяет «Symfony\Component\EventDispatcher\Event», который устарел, начиная с Symfony 4.3, вместо этого используйте «Symfony\Contracts\EventDispatcher\Event».

1x в DeprecationErrorHandler::shutdown из Symfony\Bridge\PhpUnit

1x: класс "PHPUnit\TextUI\DefaultResultPrinter" считается внутренним На этот класс не распространяется обещание обратной совместимости для PHPUnit. Он может быть изменен без дополнительного уведомления. Вы не должны использовать его из "Drupal\Tests\Listeners\HtmlOutputPrinter". 1x в DeprecationErrorHandler::shutdown из Symfony\Bridge\PhpUnit

1x: Класс «Drupal\Tests\Listeners\DrupalListener» реализует «PHPUnit\Framework\TestListener», который устарел. ТестХук интерфейсы вместо этого. 1x в DeprecationErrorHandler::shutdown из Symfony\Bridge\PhpUnit

1x: Класс «Drupal\Tests\Listeners\DrupalListener» использует «PHPUnit\Framework\TestListenerDefaultImplementation», который устарел. ТестСлушатель интерфейс устарел. 1x в DeprecationErrorHandler::shutdown из Symfony\Bridge\PhpUnit

Можете ли вы помочь мне разобраться в проблеме?

Рейтинг:1
флаг in

От создателя PHPUnit:

По умолчанию средство запуска тестов командной строки PHPUnit завершает работу с кодом выхода оболочки 0, когда сообщается об использовании устаревшей функции. Этот код выхода оболочки используется, чтобы указать, что ошибки не произошло. Эта информация используется средами непрерывной интеграции, например, чтобы решить, была ли сборка успешной. Если вы хотите, чтобы ваша сборка потерпела неудачу из-за того, что в тестах используются устаревшие функции из PHPUnit, настройте failOnWarning="true" в phpunit.xml. Это указывает PHPUnit на выход с кодом выхода оболочки 1, когда используются устаревшие утверждения.

Итак, в вашем файле phpunit.xml измените фейлонварнинг пометить как false:

<phpunit bootstrap="tests/bootstrap.php" colors="true"
         beStrictAboutTestsThatDoNotTestAnything="true"
         beStrictAboutOutputDuringTests="true"
         beStrictAboutChangesToGlobalState="true"
         failOnWarning="false"
         printerClass="\Drupal\Tests\Listeners\HtmlOutputPrinter"
         cacheResult="false">

Вам необходимо предоставить пользовательский файл phpunit.xml, который только проверяет ваш пользовательский модуль или тему и устанавливает соответствующие флаги. Затем скажите PHPUnit использовать этот файл вместо файла, поставляемого с ядром Drupal.

В моем я также добавил:

    <!-- To disable deprecation testing completely uncomment the next line. -->
    <env name="SYMFONY_DEPRECATIONS_HELPER" value="weak"/>

Я никогда не проваливаю тесты из-за уведомлений об устаревании.

Настроить PHPUnit

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.