美文网首页
powermock单元测试问题

powermock单元测试问题

作者: mirroru | 来源:发表于2021-05-06 21:08 被阅读0次

    覆盖率为0

    powermock与jacoco结合后覆盖率为0,可以借助powermock离线模式

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <parent>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-examples</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </parent>
    
        <artifactId>jacoco-offline</artifactId>
        <name>JaCoCo Offline with PowerMock</name>
        <description>
            Example how to get code coverage with PowerMock
        </description>
    
        <properties>
            <jacoco.version>0.7.7.201606060606</jacoco.version>
    
            <!-- Used to locate the profile specific configuration file. -->
            <build.profile.id>dev</build.profile.id>
    
            <jacoco.it.execution.data.file>${project.build.directory}/coverage-reports/jacoco-it.exec</jacoco.it.execution.data.file>
            <jacoco.ut.execution.data.file>${project.build.directory}/coverage-reports/jacoco-ut.exec</jacoco.ut.execution.data.file>
    
            <jdk.version>1.8</jdk.version>
    
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    
            <!-- Only unit tests are run by default. -->
            <skip.unit.tests>false</skip.unit.tests>
    
        </properties>
    
        <dependencies>
            <dependency>
                <groupId>org.assertj</groupId>
                <artifactId>assertj-core</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <scope>test</scope>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-api-mockito</artifactId>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-core</artifactId>
            </dependency>
            <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-module-junit4</artifactId>
            </dependency>
            <dependency>
                <groupId>org.jacoco</groupId>
                <artifactId>org.jacoco.agent</artifactId>
                <version>${jacoco.version}</version>
                <classifier>runtime</classifier>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>${jdk.version}</source>
                        <target>${jdk.version}</target>
                        <encoding>${project.build.sourceEncoding}</encoding>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.jacoco</groupId>
                    <artifactId>jacoco-maven-plugin</artifactId>
                    <version>${jacoco.version}</version>
                    <executions>
                        <execution>
                            <id>default-instrument</id>
                            <goals>
                                <goal>instrument</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>default-restore-instrumented-classes</id>
                            <goals>
                                <goal>restore-instrumented-classes</goal>
                            </goals>
                        </execution>
                        <execution>
                            <id>report</id>
                            <phase>prepare-package</phase>
                            <goals>
                                <goal>report</goal>
                            </goals>
                            <configuration>
                                <dataFile>${project.build.directory}/coverage.exec</dataFile>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-surefire-plugin</artifactId>
                    <version>2.19.1</version>
                    <configuration>
                        <systemPropertyVariables>
                            <jacoco-agent.destfile>${project.build.directory}/coverage.exec</jacoco-agent.destfile>
                        </systemPropertyVariables>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    

    jacoco-maven-plugin failed to execute goal instrument

    需加上如下依赖

    <dependency>
                <groupId>org.powermock</groupId>
                <artifactId>powermock-core</artifactId>
            </dependency>
    

    相关文章

      网友评论

          本文标题:powermock单元测试问题

          本文链接:https://www.haomeiwen.com/subject/wixjdltx.html