为了测试静态方法,我使用 Power 模拟和 pom.xml 条目,这是
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.5</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.4.9</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.4.9</version>
<scope>test</scope>
</dependency>
`
我正在从命令提示符运行测试用例,这给了我类似的错误
java.lang.RuntimeException: java.lang.ClassNotFoundException: org.mockito.internal.progress.ThreadSafeMockingProgress
at org.powermock.api.support.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:52)
但是,从 Intellij ide 中,如果我运行所有测试用例(右键单击项目 + 运行“所有测试”),它绝对可以正常工作。有人对这个问题有任何想法吗?
最佳答案
当您在 pom.xml 中定义强大的模拟 jar 时,无需显式定义依赖 jar,因为类路径中可能会出现不兼容的版本。使用以下两个版本并删除 pom.xml 中的mockito依赖项。
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.5.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.5.4</version>
<scope>test</scope>
</dependency>
关于java - dropwizard + Powermock + Mockito + Maven 构建错误,出现 ClassNotFoundException "ThreadSafeMockingProgress",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31717931/