La herramienta de cobertura EMMA no muestra la cobertura línea por línea

votos
5

Estoy usando la herramienta EMMA para la cobertura del código, a pesar de mis mejores esfuerzos, EMMA se niega a ver los archivos .java originales y genera cobertura línea por línea.

Estamos utilizando ANT para compilar el código y la depuración está establecida en verdadero. Sé que EMMA está midiendo la cobertura, ya que los archivos .emma parecen estar generando y fusionándose correctamente. Los informes pueden presentar una cobertura de método de alto nivel con porcentajes.

Pero ¿por qué no verá los archivos .java? Todo lo que obtengo es: [archivo de origen 'a / b / c / d / e / f / code.java' no encontrado en sourcepath]

Publicado el 31/10/2008 a las 14:56
por usuario
En otros idiomas...                            


4 respuestas

votos
6

Es usted la creación del sourcepathen su reportelemento?

<report>
    <sourcepath>
        <pathelement path="${java.src.dir}" />
    </sourcepath>
    <fileset dir="data">
        <include name="*.emma" />
    </fileset>

    <txt outfile="coverage.txt" />
    <html outfile="coverage.html" />
</report>
Respondida el 31/10/2008 a las 15:07
fuente por usuario

votos
2

¿Podría publicar la parte de su build.xmlque genera los EMMAinformes? Suena como un report sourcepathproblema.

report sourcepathdebería apuntar a su fuente java .

Ver sourcepath en la referencia de EMMA. Puede ser una estructura similar a una ruta , por lo que puede incluir varios directorios de origen.

Como siempre, con ANT:

  • ejecutar el build.xml más pequeño posible con -verbose
  • -debug para aún más información.
Respondida el 31/10/2008 a las 15:15
fuente por usuario

votos
0

no {java.src.dir}necesita apuntar a un srcdirectorio específico .

Este no es un solo directorio src ya que estoy compilando proyectos múltiples. Cada uno con su propio archivo build.xml.

Creo que esta es la parte que genera todos los informes de cobertura:

  <target name="emma.report" if="use.emma">
   <emma enabled="true">
     <report sourcepath="${test.reports.dir}">
       <!--  collect all EMMA data dumps (metadata and runtime):   --> 
       <infileset dir="${test.data.dir}" includes="*.emma" /> 
       <html outfile="${test.reports.dir}/coverage.html" /> 
     </report>
   </emma>
 </target>

EDITAR: Cambié el sourcepath para apuntar directamente a uno de los directorios src. Ve si eso funciona.

Respondida el 31/10/2008 a las 15:22
fuente por usuario

votos
1

Me encontré con el mismo problema. Sin embargo, encontramos que mientras se ajusta la SourcePath tenemos que establecer que el único nivel de directorio no a la ubicación del archivo de Java. es similar a la ruta de clases

Respondida el 03/05/2012 a las 01:36
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more