Я использую PHP 7.0 и выполняю тестовые примеры с помощью PHPunit. те работают нормально.
но при попытке запустить PHPUnit с параметром —coverage-html с использованием PHPUnit 6.3.0 или 5.7.23, но он просто отображает доступные параметры, а не генерирует отчет о покрытии кода.
Я не использую какой-либо файл phpunit.xml, это обязательно, и если да, то как разместить мой каталог. У меня есть две папки в моем проекте — одна для lib (файлы базового php-класса) и другая для тестов, в которых есть тестовые примеры.
Предположим, ваш код находится внутри стандартных каталогов (например, src
для кода и tests
для тестов), используйте следующий файл phpuni.xml.dist
<?xml version="1.0" encoding="UTF-8"?>
<!-- https://phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/7.0/phpunit.xsd"backupGlobals="false"colors="true"bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="Project Test Suite">
<directory>tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist>
<directory>src</directory>
</whitelist>
</filter>
</phpunit>
тогда вы можете запустить phpunit
чтобы получить тесты без покрытия и phpunit coverage-html build
чтобы получить тесты с покрытием (не стесняйтесь заменить build
с любым именем каталога, которое вам нравится)
Других решений пока нет …