我正在使用PHPUnit運行模塊測試,並希望獲得有關測試的覆蓋率報告。過去我已經成功地做到了這一點,但不知何故,我再也無法工作,我不知道爲什麼它不再工作。唯一的區別是我現在運行PHP 5.4而不是5.3。PHPUnit代碼覆蓋率0%
測試在Ant構建文件使用exec命令來運行:
<exec dir="${basedir}" executable="phpunit.bat" failonerror="${test.failonerror}">
<arg value="--log-junit" />
<arg value="${test.phpunit.log}" />
<arg value="--coverage-clover" />
<arg value="${test.phpunit.coverage.log}" />
<arg value="--bootstrap" />
<arg value="${test.phpunit.bootstrap}" />
<arg value="${test.phpunit.testdir}" />
</exec>
這裏是螞蟻日誌的片段時,我跑我的測試:
module-test-php:
[exec] PHPUnit 3.6.12 by Sebastian Bergmann.
[exec] .............
[exec] Time: 5 seconds, Memory: 8.75Mb
[exec] OK (13 tests, 113 assertions)
[exec] Generating code coverage report in Clover XML format ... done
從日誌,它似乎覆蓋面報告應該工作,但是當我打開報告,我得到的是這個
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1344329670">
<project timestamp="1344329670">
<metrics files="0" loc="0" ncloc="0" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="0" coveredstatements="0" elements="0" coveredelements="0"/>
</project>
</coverage>
是否有一些設置我在這裏失蹤或爲什麼我得到零覆蓋?
更新
我做了一些更多的測試,發現錯誤有關Phar歸檔。這個問題已被報道。
https://github.com/sebastianbergmann/php-code-coverage/issues/107