Я использую фреймворк Codeigniter3 и пакет phpunit СI-PHPUnit-тест.
Я запускаю php на Zend-сервере с включенным Zend-отладчиком.
Мой файл phpunit.xml находится там:
<phpunit
bootstrap="./Bootstrap.php"colors="true"testsuite="CodeIgniter Application Test Suite">
<testsuites>
<testsuite name="CodeIgniter Application Test Suite">
<directory suffix="test.php">./</directory>
<exclude>./_ci_phpunit_test/</exclude>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory suffix=".php">../controllers</directory>
<directory suffix=".php">../models</directory>
</whitelist>
</filter>
</phpunit>
Я запускаю выполнение покрытия кода, используя значок с зеленым зазором и тире, при этом запускается следующая команда:
"C:\Program Files (x86)\Zend\ZendServer\bin\php.exe" -dzend_debugger.enable_coverage=1 C:/Users/NICOLAS/AppData/Local/Temp/ide-phpunit.php --configuration C:\....\phpunit.xml
После успешного выполнения всех тестов открывается боковая панель Coverage PHPUnit, которая показывает только 0% покрытия (я уверен, что тесты проходят через большое количество кода).
Вот что я получаю:
ОБНОВЛЕНИЕ: немного больше информации …
Когда я добавляю это в файл phpunit.xml, он говорит мне, что Xdebug не включен:
<logging>
<log type="coverage-html" target="build/coverage"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
Поэтому я попытался включить отладчик xdebug, тесты были очень медленными, и я получил отчет в формате HTML в папке сборки / покрытия. Это хорошо, но не интегрировано в среду PHPStorm.
Поэтому я вернулся к Zend Debugger и попробовал функцию PHPStorm (удалив раздел журнала в phpunit.xml). Тесты выполняются быстро, но охват остается на уровне 0% …
У меня была такая же проблема, и это ответ сделал трюк.
Поменяв корень проекта на абсолютный путь (/ media / hdd / …), я смог решить проблему.
Других решений пока нет …