Я новичок в разработке PHP, но у меня есть опыт разработки веб-приложений на Python. В Python есть пакет, который называется покрытие который анализирует код и определяет функциональность, в которой отсутствуют модульные тесты.
Существует ли такой пакет в мире PHP? Я искал Google и ТАК и не нашел. Спасибо за помощь!
PHPUnit поддерживает покрытие кода и является стандартом де-факто. Интегрируется с Jenkins et al.
https://phpunit.de/manual/current/en/code-coverage-analysis.html
В PHPUnit встроено покрытие. Вы можете создать html-отчет о покрытии, используя
phpunit —coverage-html / [путь, куда сохранить отчет]
Другой вариант — —coverage-clover вместо —coverage-html. Это создаст xml отчет о том, что покрыто.
Если вы используете расширенную IDE, такую как phpStorm, вы можете просто щелкнуть правой кнопкой мыши на тесте и выбрать «Запустить с покрытием», оно отобразит покрытие в проводнике редактора.
Сам PHPUnit имеет инструмент покрытия, который использует PHP_CodeCoverage
На этой странице показаны все различные варианты покрытия: https://phpunit.de/manual/current/en/textui.html
Примером командной строки выходного покрытия html будет:
phpunit ./report tests/*
Это создаст папку с именем report и будет содержать все покрытие для всех тестов в папке tests /
Также вы можете сгенерировать отчет по делам, проверив, сколько дел пройдено или не выполнено в модуле проекта Wise с использованием файла json.
Добавьте этот код в ваш файл phpnit.xml:
<log type="json" target="./log/jsonreport.json" charset="UTF-8"/>
После запуска сгенерированный файл (jsonreport.json
) списка пропущенных дел должен существовать.
Да Есть несколько инструментов покрытия кода.
Добавьте ниже ссылки на ваш phpunit.xml
<logging>
<log type="coverage-html" target="./mainreport" charset="UTF-8"yui="true" highlight="true"lowUpperBound="50" highLowerBound="80" />
</logging>
установить XDEBUG, (ex: for ubuntu and php7 - sudo apt-get install php7.0-xdebug)
Это запишет ваш отчет в каталог, указанный в атрибуте target (target = «./ mainreport»). Также отчет будет в формате html
создать mainreport
каталог в вашем корне.
запустить юнит-тест
Откройте index.html в браузере, и вы можете увидеть отчет о покрытии.