在使用springboot2做单元测试的时候,发现依赖的mockito已经是2.x了,然后powermock虽然对应有一个api,但是并不能真正的支持,遇到了一系列的兼容问题,最后解决的版本如下

jarversion
SpringBoot - test2.1.X
Mockito2.23.4
powermock-api-mockito22.0.2
powermock-module-junit42.0.2
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.1.5.RELEASE</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-module-junit4</artifactId>
            <version>2.0.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito2</artifactId>
            <version>2.0.2</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
            <version>2.23.4</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.assertj</groupId>
            <artifactId>assertj-core</artifactId>
            <version>3.11.1</version>
            <scope>test</scope>
        </dependency>

异常诸如:
java.lang.NoClassDefFoundError: org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl

java.lang.NoClassDefFoundError: org/mockito/exceptions/Reporter #684

遇到这个错误,再联系我吧。。。

https://github.com/powermock/powermock/issues/684

更多推荐