Drupal 8 дополняет среду тестирования, основанную на Simpletest, с помощью PHPUnit , и Simpletest может быть удален в Drupal 9.
Я еще не обновлялся до Drupal 8, но мне было интересно, как я могу написать существующие тесты в PHPUnit (чтобы проследить за трендом) для Drupal 7, вместо этого в Simpletest?
Есть ли способ или модуль для интеграции PHPUnit с Drupal 7?
Есть несколько таких как phpunit или drunit , но они не для Drupal 7.
Ответы:
Вы можете запустить тесты PHPUnit, загрузив Drupal в каждом из ваших тестовых файлов. Это не идеально, но это работает.
источник
PHPUnit предоставляет хороший API для создания объектов, в то время как самый простой в Drupal этого не делает. В gist есть одна библиотека для интеграции PHPUnit с Drupal 7 .
Для выполнения этих сценариев вам необходимо проверить этот gist-репозиторий . Чтобы выполнить модульные тесты в командной строке, просто перейдите на сайт Drupal (т.е.
<DRUPAL_ROOT>/sites/default
) и используйте dphpunit.bash так же, как и команду phpunit.Скрипт состоит из 3 файлов:
Источник: http://devblog.more-onion.com/content/writing-unit-tests-drupal-7
bootstrap.inc.php
dphpunit.bash
drun-phpunit.php
Для интеграции PHPUnit с Drupal 7 доступна еще одна библиотека: https://github.com/sebastianbergmann/phpunit
Более подробную информацию об этих сценариях можно проверить здесь: http://thomaslattimore.com/blog/using-phpunit-with-drupal-7
источник
Существует обходной путь с файлом конфигурации.
Суть: https://gist.github.com/permanovd/cb9c02920c49a29c97653f4f697147b1
Это все. Теперь вы можете начать тестирование несколькими способами.
1. CLI
phpunit -c phpunit.xml.dist QuestionValidationValueOptionsInputTest /yoursite.dir/public_html/profiles/standard/modules/some_module/tests/QuestionValidationTest.php
где:
2. IDE (phpstorm)
Вы должны добавить тестовую запущенную конфигурацию
И нет необходимости включать загрузочный код drupal в каждый тест.
Заметка
У вас могут быть проблемы с тестами из-за неправильной версии php вашей среды.
Дальнейшее чтение:
https://phpunit.de/manual/current/en/organizing-tests.html
источник