Охват модульного тестирования PHP

Я новичок в разработке PHP, но у меня есть опыт разработки веб-приложений на Python. В Python есть пакет, который называется покрытие который анализирует код и определяет функциональность, в которой отсутствуют модульные тесты.

Существует ли такой пакет в мире PHP? Я искал Google и ТАК и не нашел. Спасибо за помощь!

2

Решение

PHPUnit поддерживает покрытие кода и является стандартом де-факто. Интегрируется с Jenkins et al.

https://phpunit.de/manual/current/en/code-coverage-analysis.html

2

Другие решения

В PHPUnit встроено покрытие. Вы можете создать html-отчет о покрытии, используя

phpunit —coverage-html / [путь, куда сохранить отчет]

Другой вариант — —coverage-clover вместо —coverage-html. Это создаст xml отчет о том, что покрыто.

Если вы используете расширенную IDE, такую ​​как phpStorm, вы можете просто щелкнуть правой кнопкой мыши на тесте и выбрать «Запустить с покрытием», оно отобразит покрытие в проводнике редактора.

1

Сам PHPUnit имеет инструмент покрытия, который использует PHP_CodeCoverage

На этой странице показаны все различные варианты покрытия: https://phpunit.de/manual/current/en/textui.html

Примером командной строки выходного покрытия html будет:

phpunit ./report tests/*

Это создаст папку с именем report и будет содержать все покрытие для всех тестов в папке tests /

1

Также вы можете сгенерировать отчет по делам, проверив, сколько дел пройдено или не выполнено в модуле проекта Wise с использованием файла json.

Добавьте этот код в ваш файл phpnit.xml:

<log type="json" target="./log/jsonreport.json" charset="UTF-8"/>

После запуска сгенерированный файл (jsonreport.json) списка пропущенных дел должен существовать.

0

Да Есть несколько инструментов покрытия кода.
Добавьте ниже ссылки на ваш 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 в браузере, и вы можете увидеть отчет о покрытии.

0