Я использую PHP 5.6.24 с PHPUnit 5.5.4 и XDebug 2.4.1, и я достигаю покрытия кода 0,83%. Однако, прежде чем я использовал PHP 5.6.0 с PHPUnit 4.7.7 и XDebug 2.3.3 и достиг охвата кода более 84%.отчет о покрытии кода не корректен после обновления до PHPUnit 5.5.4
Я узнал, что с PHP 5.5.x вам нужно иметь phpunit.xml с настроенным whitelist. Это было ново для меня, поэтому я добавил следующий файл:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./</directory>
<file></file>
</whitelist>
</filter>
<logging>
<log type="coverage-html" target="../results/report" lowUpperBound="35" highLowerBound="70"/>
</logging>
<testsuites>
<testsuite name="DTS">
<directory>./</directory>
</testsuite>
</testsuites>
</phpunit>
Эксплуатационные испытания все еще работают. Когда я запускаю их по командной строке, я все еще вижу, что все тесты выполняются успешно, но это всего лишь отчет о покрытии кода, который имеет такой нечетный результат.
Спасибо за ваш вклад. Я использовал ваш файл в качестве основы (с модификацией моих путей), но все же получил те же результаты. (Я также использую последний стабильный PHPUnit 5.5.4, никогда не пробовал бета-версию) – Tornado
Это очень плохо, надеясь, что это было что-то малое ... (извините, я неправильно прочитал ваш оригинальный пост и увидел PHP 5.6 и подумал, что это PHPUnit 5.6, следовательно бета-путаница) ... Я также запускаю PHP 5.6. Я могу только предложить создать какой-то простой тестовый пример и посмотреть, будет ли он работать, а затем просто проверить вашу среду. Удачи! – Katie
Имеет ли phpunit какие-либо особые требования к структуре папок/тестов? Я так сомневаюсь, потому что он находит и выполняет все тестовые примеры? Что видно, так это то, что все мои тесты 3793 успешно выполняются, но только методы тестирования 13/822 имеют покрытие кода. – Tornado