Tengo un problema con EMMA en el que cubre correctamente todos mis diversos proyectos de Java, excepto uno. Estoy desconcertado sobre por qué ocurre esto, ya que la secuencia de comandos ANT parece ser correcta. Se da el siguiente resultado esperado:
[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}
Lo anterior es generado por la siguiente pieza de script 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>
Después de ejecutar las pruebas JUnit, se registra lo siguiente.
emma.report: [informe] procesando archivos de entrada ...
[informe] 1 archivo (s) leídos y fusionados en 16 ms
[informe] nada que hacer: no se encontraron datos de cobertura de tiempo de ejecución en ninguno de los archivos de datos
Y no se genera ningún informe de cobertura.
Estoy seguro de que los archivos de coverage.emma están siendo vinculados correctamente, entonces ¿por qué EMMA no cubre el código?
La emma.report
tarea tiene el siguiente aspecto:
<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>