Результаты phing и phpunit codecoverage - PullRequest
2 голосов
/ 17 февраля 2010

Я создал файл build.xml для phing для создания отчетов о покрытии кода. Использует

phpunit codecoverage="true"

и указывает на те же файлы, что и phpunit --coverage-html. Результат отличается, однако. С phing у меня есть 100% покрытие кода для всех файлов, которых у меня нет. Вероятно, есть кое-что, чего я не знаю о выполнении покрытия кода с помощью phing, что объясняет это на 100%. Что я делаю не так, чтобы получить разные результаты?

Ответы [ 2 ]

4 голосов
/ 18 февраля 2010

Вы можете попробовать запустить phpunit в качестве исполняемого файла и --coverage-html в качестве аргумента (это то, как мы это делаем и, похоже, работает хорошо).

Пример:

<target name="phpunit">
 <exec executable="phpunit" dir="${basedir}/source" failonerror="on">
  <arg line="--log-junit ${basedir}/build/logs/phpunit.xml
  --coverage-clover ${basedir}/build/logs/phpunit.coverage.xml
  --coverage-html ${basedir}/build/coverage
  tests/" />
 </exec>
</target>
2 голосов
/ 04 декабря 2010

Пример в первом ответе не работает. Этот пример для муравья. Phing ExecTask не поддерживает arg как вложенный элемент.

Рабочий пример для Phing:

<target name="phpunit">
    <exec command="phpunit --log-junit ${logsdir}/phpunit.xml 
        --coverage-clover ${logsdir}/phpunit.coverage.xml 
        --coverage-html ${logsdir}/coverage 
        tests/" />
</target>
...