Java 使用Jacoco的Cucumber测试的代码覆盖率

Java 使用Jacoco的Cucumber测试的代码覆盖率,java,maven,selenium,cucumber,jacoco,Java,Maven,Selenium,Cucumber,Jacoco,我正在尝试集成Jacoco,以便使用Maven获得Cucumber测试的代码覆盖率。以下是我的项目结构: -src主java页面 -src主java助手 -src测试java资源特性 -src测试java步骤 以下是mypom.xml中的Jacoco配置 <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-mave

我正在尝试集成Jacoco,以便使用Maven获得Cucumber测试的代码覆盖率。以下是我的项目结构:

  • -src主java页面

  • -src主java助手

  • -src测试java资源特性

  • -src测试java步骤

以下是mypom.xml中的Jacoco配置

          <plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.8.2</version>
            <configuration>
                <destFile>${basedir}/target/coverage-reports/jacoco.exec</destFile>
                <dataFile>${basedir}/target/coverage-reports/jacoco.exec</dataFile>
                <outputDirectory>${basedir}/target/coverage-reports/jacoco</outputDirectory>
            </configuration>
            <executions>
                <execution>
                    <id>prepare-agent</id>
                    <goals>
                        <goal>prepare-agent</goal>
                    </goals>
                </execution>
                <execution>
                    <id>report</id>
                    <goals>
                        <goal>report</goal>
                    </goals>
                </execution>
                <execution>
                    <id>check</id>
                    <goals>
                        <goal>check</goal>
                    </goals>
                    <configuration>
                        <rules>
                            <rule>
                                <element>PACKAGE</element>
                                <includes>
                                    <include>**/*Steps.*</include>
                                </includes>
                            </rule>
                            <rule>
                                <element>PACKAGE</element>
                                <excludes>
                                    <exclude>**/*Pages.*</exclude>
                                    <exclude>**/*Page.*</exclude>
                                </excludes>
                            </rule>
                        </rules>
                    </configuration>
                </execution>
            </executions>
        </plugin>

org.jacoco
jacocomaven插件
0.8.2
${basedir}/target/coverage reports/jacoco.exec
${basedir}/target/coverage reports/jacoco.exec
${basedir}/target/coverage reports/jacoco
配制剂
配制剂
报告
报告
检查
检查
包裹
**/*步骤*
包裹
**/*页数*
**/*页面*
我能够生成代码覆盖率报告。但是,在报告中,它涵盖了-src主包中的所有类。根据不同的google搜索和SO帖子,我试图修改POM以排除页面,并在代码覆盖率报告中只包含步骤。但不知何故,它一直显示主包中的所有文件

我是不是走错了路?我只想创建一个报告,它只覆盖我执行的测试,而不是主包中的所有文件

请参见-在配置中指定排除

<execution>
    <id>check</id>
    <goals>
        <goal>check</goal>
<execution>
    <id>report</id>
    <goals>
        <goal>report</goal>

检查
检查
但不是在配置中

<execution>
    <id>check</id>
    <goals>
        <goal>check</goal>
<execution>
    <id>report</id>
    <goals>
        <goal>report</goal>

报告
报告
因此,它对
检查
,但对
报告

没有影响请参见-您可以在

<execution>
    <id>check</id>
    <goals>
        <goal>check</goal>
<execution>
    <id>report</id>
    <goals>
        <goal>report</goal>

检查
检查
但不是在配置中

<execution>
    <id>check</id>
    <goals>
        <goal>check</goal>
<execution>
    <id>report</id>
    <goals>
        <goal>report</goal>

报告
报告

因此,它对
检查
有效,但对
报告
无效

我尝试在报告配置部分包括和标记。没用!然后请阅读并提供绝对完整的示例,因为仅仅是
pom.xml
的片段不足以重现您的困难,这里还有另一个提示-我根据我阅读的其他SO帖子在我的问题中提供了详细信息。另外,由于工作中的保密问题,我不能透露任何其他细节。不管怎样,根据你提供的提示,我已经试过了,但也没用。无论如何,感谢“我在我的问题中根据我读到的其他SO帖子提供了详细信息。”这正是问题所在-如果您的详细信息与其他问题没有区别,那么这些详细信息不足以诊断问题并提供解决方案。我试着在报告配置部分包括和标记。没用!然后请阅读并提供绝对完整的示例,因为仅仅是
pom.xml
的片段不足以重现您的困难,这里还有另一个提示-我根据我阅读的其他SO帖子在我的问题中提供了详细信息。另外,由于工作中的保密问题,我不能透露任何其他细节。不管怎样,根据你提供的提示,我已经试过了,但也没用。无论如何,谢谢“我在我的问题中根据我读到的其他SO帖子提供了细节。”这正是问题的关键——如果你的细节与其他问题没有区别,那么这些细节就不足以诊断问题并提供解决方案