JaCoCo报告看起来正确但无法查看来源

时间:2012-06-06 12:33:57

标签: ant code-coverage emma jacoco

我是JaCoCo的新手,并试图找出为什么我生成的html报告与我的来源没有关联。

覆盖率数字看起来正确,我可以浏览每个类,然后每个方法,但我看不到来源。我在sourcefiles标签中尝试了很多不同的东西,但没有任何工作。其他人遇到过这个问题吗?这是我的蚂蚁脚本的片段:

...

   <test name="test.fw.UITestSuite" todir="${logdir}"/>
    </junit>
    </jacoco:coverage>
    <fail if="TestFailed" status="1" message="UI junit test failure detected"/>
    <echo message="${src}"/>
    <jacoco:report>                                
        <executiondata>
            <file file="jacoco.exec"/>
        </executiondata>                            
        <structure name="UI">
            <classfiles>
                <fileset dir="${build}/fw"/>
            </classfiles>
            <sourcefiles encoding="UTF-8">
                <fileset dir="fw" includes="**./*.java"/>
            </sourcefiles>
        </structure>                                
        <html destdir="report"/>                                
    </jacoco:report>
</target>

...

2 个答案:

答案 0 :(得分:1)

您的fileset定义似乎很奇怪。

包含必须(第一个。放错地方):

includes="**/*.java

尝试将其指向src dir的根目录(不需要包含)

<fileset dir="fw"  />

但是fw必须是你的来源的根,即它包含像:

这样的包文件夹
src
 -org
   -module
     -MyClass1.java
     -MyClass2.java

答案 1 :(得分:0)

使用Scala风格的包目录名时,我已经看到了这种中断,例如,

src/main/java/com.example.foo.bar/Foo.java
与标准相比,

用于更少的嵌套级别,更快的自动完成和&lt; c。

src/main/java/com/example/foo/bar/Foo.java

大多数工具支持第一个版本就好了,但通常如果你试一试并且一切正常,当你注意到jacoco报告不再显示源代码时,你早就忘记了目录名称的变化......