2010-02-17 18 views
2

J'ai créé un fichier build.xml pour phing afin de créer des rapports de couverture de code. Il utiliserésultats de phing et de codecoverage phpunit

phpunit codecoverage="true" 

et pointe vers le (s) même (s) fichier (s) que pour phpunit --coverage-html. Le résultat diffère, cependant. Avec phing, j'ai une couverture de code de 100% pour tous les fichiers, ce que je n'ai pas. Il y a probablement quelque chose que je ne sais pas sur l'exécution de la couverture de code avec phing qui explique cela à 100%. Qu'est-ce que je fais de mal pour obtenir des résultats différents?

Répondre

4

Vous pouvez essayer d'exécuter phpunit en tant qu'exécutable et --coverage-html en tant qu'argument (Voici comment nous le faisons et semble fonctionner correctement).

Exemple:

<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

Merci pour l'alternative. – koen

+0

Quelle est la différence? Quel est le problème que vous travaillez autour? – cweiske

2

Exemple dans la première réponse est fonctionne pas. Cet exemple pour Ant. Le Phing ExecTask ne supporte pas le 'arg' comme un élément imbriqué.

Exemple de travail pour Phing:

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