2010-02-17 59 views
2

我已經爲phing創建了一個build.xml文件來創建代碼覆蓋率報告。它使用phing與phpunit codecoverage結果

phpunit codecoverage="true" 

並指向與phpunit --coverage-html一樣的文件。但結果不同。用phing我有100%的代碼覆蓋所有文件,我沒有。可能有些東西我不知道用phing運行代碼覆蓋率,這可以解釋爲100%。我做錯了什麼來獲得不同的結果?

回答

4

你可以嘗試運行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> 
+0

感謝您的替代方案。 – koen 2010-02-18 18:49:08

+0

有什麼區別?你工作的問題是什麼? – cweiske 2011-04-30 11:46:45

2

例在第一個答案是不行的。這個例子適用於Ant。 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>