Занялся тестированием тестов под Drupal 8. И осознал, что отладка тестов не так уж и проста. Сложность заключается не в написании, а организации процессов.
Мой совет - При поиске проблемы в тесте советую создать свой тест с реализацией проблемы.
- Укажите путь к основному файлу тестировщику, который с помощью phpunit соберает среду и запускает тест.
- Желательно запускать от пользователя www-data.
- Укажите обязательно параметр --url сайта.
- Если вызапускаете тест с командной строки и хотите трассировать код, необходимо выставить переменную XDEBUG_CONFIG="idekey=netbeans-xdebug".
- Заметьте, что тесты также выполняют GET/POST запросы к проекту. Трассировка проскакивает код сзапросами, отладка будет неполной. Если вы хотите также провести отладку тех скриптов в параметры также надо добавлять ключ. Проблема в том, что это вызывает мультипоточную отладку в которой очень легко запутаться.
Мой совет - При поиске проблемы в тесте советую создать свой тест с реализацией проблемы.
alias d8_run_tests="sudo -u www-data php /var/www/d8/drupal/core/scripts/run-tests.sh --url http://d8.local --verbose --color --class " alias xd8_run_tests="sudo -u www-data /home/viktor/sh/d8_run_tests"
http://d8.local/?XDEBUG_SESSION_START=netbeans-xdebug
#!/bin/bash export XDEBUG_CONFIG="idekey=netbeans-xdebug" echo $1 php /var/www/d8/drupal/core/scripts/run-tests.sh --url http://d8.local --verbose --color --execute-test $1
xd8_run_tests "Drupal\locale\Tests\LocaleTranslationUi1Test"or
d8_run_tests "Drupal\locale\Tests\LocaleTranslationUi1Test"
Комментариев нет:
Отправить комментарий