J'ai un problème avec EMMA où il couvre correctement tous mes divers projets Java sauf un. Je suis intrigué pour savoir pourquoi cela se produit car le script ANT semble être correct. La sortie attendue suivante est donnée:EMMA ne couvrira pas un de mes projets
[echo] c:\cc_local_home\emmadata\ProjectName
[instr] processing instrumentation path ...
[instr] instrumentation path processed in 1876 ms
[instr] [84 class(es) instrumented, 0 resource(s) copied]
[instr] metadata merged into [c:\cc_local_home\data\2008-11-17_14.35.19\coverage.emma] {in 62 ms}
ci-dessus est produite par la pièce de script suivante ANT:
<target name="emma" depends="init" if="use.emma">
<echo message="${emma.bin}" />
<emma enabled="true">
<instr instrpath="${test.bin}" destdir="${emma.bin}" metadatafile="${test.data.dir}/coverage.emma" merge="true">
<filter excludes="*Test*,*test*" />
<filter excludes="*Exception" />
<filter excludes="*AppConstants" />
</instr>
</emma>
</target>
Après les tests JUnit sont exécutés, le suivant est enregistré.
emma.report: [rapport] fichiers d'entrée de traitement ...
[rapport] 1 fichier (s) de lecture et fusionnées en 16 ms
[rapport] rien à voir: aucune donnée de couverture d'exécution trouvés dans tous les des fichiers de données
Et aucun rapport de couverture n'est généré.
Je suis certain que les fichiers coverage.emma sont correctement liés, alors pourquoi EMMA ne couvre-t-il pas le code?
La tâche emma.report
se présente comme suit:
<target name="emma.report" if="use.emma">
<emma enabled="true">
<report sourcepath="${test.reports.dir}">
<infileset dir="${test.data.dir}" includes="*.emma" />
<html outfile="${test.reports.dir}/coverage.html" />
</report>
</emma>
</target>
Même problème ici. Bizarrement, l'exécution des tâches emma deux fois génère le rapport la deuxième fois. – ashes999