2009-05-19 65 views
2

我有一个Ant和Emma代码覆盖插件的问题,它会生成报告,但没有源代码。Emma不会将源代码嵌入到HTML报告中

我在我的build.xml文件

初始化艾玛

<taskdef resource="emma_ant.properties" /> 
    <path id="run.classpath"> 
     <pathelement location="${instr}" /> 
     <path refid="build.classpath"/> 
     <pathelement path="${ant.home}/lib/junit-4.5.jar"/> 
     <pathelement path="${ant.home}/lib/emma.jar"/> 
    </path> 

原音乐制作下面的代码

<target name="instr" depends="compile"> 
     <emma> 
      <instr instrpathref="build.classpath" 
       destdir="${instr}" 
       metadatafile="${coverage}/metadata.emma" 
       merge="true" 
      /> 
     </emma> 
    </target> 

设置属性

<jvmarg value="-Demma.coverage.out.file=${coverage}/coverage.emma" /> 
    <jvmarg value="-Demma.coverage.out.merge=true" /> 

使报告

<emma> 
     <report sourcepath="${src}" > 
      <fileset dir="${coverage}" > 
       <include name="*.emma" /> 
      </fileset> 

      <html outfile="${coverage}/coverage.html"/>    
     </report>  
    </emma> 

这很好。它输出到控制台:

[report] processing input files ... 
[report] 2 file(s) read and merged in 10 ms 
[report] not all instrumented classes were compiled with source file 
[report] debug data: no sources will be embedded in the report. 
[report] line coverage requested in a report of type [html] but 
[report] not all instrumented classes were compiled with line number 
[report] debug data: this column will be removed from the report. 
[report] showing up to 3 classes without full debug info per package: 
[report] ... 
[report] writing [html] report to [C:\...] ... 

我想在报告中看到我的源代码,我该如何解决它?我研究了emma的文档,但不幸的是没有任何与这个问题有关的东西。

谢谢你的回答。

回答

5

好的,我解决了一个问题。

我将debug="true"添加到了javac,它现在可以工作。

+0

+1解决你自己的问题。我只是想提出这个建议。 – Mark 2009-05-19 22:37:08