java - EMMA 不会涵盖我的项目之一

标签 java ant junit code-coverage emma

我对 EMMA 有一个问题,它正确地覆盖了我所有的各种 Java 项目,除了一个。 我很困惑为什么会出现这种情况,因为 ANT 脚本似乎是正确的。给出以下预期输出:

 [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}

以上内容由以下 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>

运行 JUnit 测试后,将记录以下内容。

艾玛.报告: [报告] 正在处理输入文件 ...
[报告] 在 16 毫秒内读取并合并了 1 个文件
[报告]无事可做:在任何数据文件中均未找到运行时覆盖率数据

并且没有生成覆盖率报告。

我确定 coverage.emma 文件链接正确,那么为什么 EMMA 没有覆盖代码?

emma.report 任务如下所示:

<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>

最佳答案

<emma.report> 是什么意思?元素长什么样?

你可能想看看这个 FAQ关于这条确切的消息:Why does <report></report> say "nothing to do: no ...data found in any of the data files" and exit without generating anything?

而且,一如既往地使用 Ant , 打开 -verbose并仔细检查输出。

关于java - EMMA 不会涵盖我的项目之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/295938/

相关文章:

java - WTP(eclipse3.7)在Windows7下 Debug模式下无法启动tomcat6

java - 检查数组中是否存在范围内的所有值的最佳方法是什么? ( java )

java - 调用 Scanner 的 nextLine 的方法上的输入不匹配异常

Android Ant 构建在具有两个源文件夹的项目上

java.lang.NoClassDefFoundError,Ant任务无法在jar内看到jar中的类

java - 添加一个 ant 目标以从 jar 文件中运行一个类

java - Cucumber @Before 钩子(Hook)打开多个浏览器窗口

Java-分割字符串后添加空格

java - Mockito 有没有办法从内部类运行监视对象的 stub 方法?

java - 获取 android gradle junit 测试运行的 XML/HTML 测试结果