有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Jacoco没有显示PowerMockito类的覆盖率

我们使用Jacocoeclemma来覆盖测试用例。对于未使用PowerMockRunner的类,我们在这两个方面都得到了适当的覆盖。对于使用PowerMockRunner的类,我们面临覆盖率问题,比如它在jacoco中显示了0%的覆盖率,但在eclemma中显示了适当的覆盖率

PowerMockito version :1.7.1
Jdk 1.8
Jacoco:0.7.9

我还尝试使用PowerMockRunner规则,但这会导致另一个与验证stackframe相关的错误,这非常难以修复。 Eclemma用作eclipse插件,jacoco用作maven插件。 任何一个面对过这个问题并且能够解决这个问题的人都可以对此有所启发。我已经通过了许多链接,但没有一个适合我

一些有用的参考:

PowerMock ECLEmma coverage issue


共 (3) 个答案

  1. # 1 楼答案

    PowerMock可以与JaCoCo合作

    我的配置是:

    <powermock-version>2.0.9</powermock-version>
    <jacoco.version>0.8.1</jacoco.version>
        
    <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>${jacoco.version}</version>
        <configuration>
            <excludes>
                <exclude>...</exclude>
            </excludes>
        </configuration>
        <executions>
            <execution>
                <id>prepare-agent</id>
                <goals>
                    <goal>prepare-agent</goal>
                </goals>
            </execution>
            <execution>
                <id>report</id>
                <phase>prepare-package</phase>
                <goals>
                    <goal>report</goal>
                </goals>
            </execution>
        </executions>
    </plugin>
    

    注意:【重要!!!!】 你不能使用include。如果使用include,覆盖率始终为零。但是你可以使用exclude