2016-09-20 1 views
0

Я использую 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> 

Эксплуатационные испытания все еще работают. Когда я запускаю их по командной строке, я все еще вижу, что все тесты выполняются успешно, но это всего лишь отчет о покрытии кода, который имеет такой нечетный результат.

ответ

0

Я бегу 5.5.4, который является последним стабильным выпуском, 5.6 является бета-версией. Я добавил регистрацию на мой, чтобы посмотреть, будет ли это работать, и так оно и было. Он сгенерировал отчет HTML, который был в каталоге отчета, который показал мне проценты правильно. Вот мой phpunit.xml файл

<?xml version="1.0" encoding="UTF-8"?> 
<phpunit colors="true" bootstrap="vendor/autoload.php"> 
    <testsuite name="Full Suite"> 
     <directory>tests/</directory> 
    </testsuite> 
    <filter> 
     <whitelist processUncoveredFilesFromWhitelist="true"> 
      <directory suffix=".php">src</directory> 
     </whitelist> 
    </filter> 
    <logging> 
     <log type="coverage-html" target="report"/> 
    </logging> 
</phpunit> 

Так что может быть бета-версией, но вы можете по крайней мере увидеть мой файл XML и знаете, что он работает с 5.5.4. Удачи!

+0

Спасибо за ваш вклад. Я использовал ваш файл в качестве основы (с модификацией моих путей), но все же получил те же результаты. (Я также использую последний стабильный PHPUnit 5.5.4, никогда не пробовал бета-версию) – Tornado

+1

Это очень плохо, надеясь, что это было что-то малое ... (извините, я неправильно прочитал ваш оригинальный пост и увидел PHP 5.6 и подумал, что это PHPUnit 5.6, следовательно бета-путаница) ... Я также запускаю PHP 5.6. Я могу только предложить создать какой-то простой тестовый пример и посмотреть, будет ли он работать, а затем просто проверить вашу среду. Удачи! – Katie

+0

Имеет ли phpunit какие-либо особые требования к структуре папок/тестов? Я так сомневаюсь, потому что он находит и выполняет все тестовые примеры? Что видно, так это то, что все мои тесты 3793 успешно выполняются, но только методы тестирования 13/822 имеют покрытие кода. – Tornado

Смежные вопросы