dropwizard + Powermock + Mockito + Maven构建错误,并带有ClassNotFoundException"ThreadSafeMockingProgress" [英] dropwizard + Powermock + Mockito + Maven build error with ClassNotFoundException "ThreadSafeMockingProgress"
问题描述
为了测试静态方法,我正在使用Power模拟和pom.xml条目,因为
For testing static method I am using Power mock and pom.xml entry for this is
<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>
`
我正在从命令提示符运行测试用例,这会给我类似
I am running test cases from command prompt which gives me error like
java.lang.RuntimeException: java.lang.ClassNotFoundException: org.mockito.internal.progress.ThreadSafeMockingProgress
at org.powermock.api.support.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:52)
但是,从Intellij ide来看,如果我运行所有测试用例(右键单击项目+运行所有测试"),则可以正常运行.有人对这个问题有任何想法吗?
However from Intellij ide, if I run the all test cases(right click on the project + Run "All tests") it works absolutely fine. Does anybody have any idea on this issue?
推荐答案
在pom.xml中定义强大的模拟jar时,由于类路径中可能出现不兼容的版本,因此无需显式定义从属jar.在以下两个版本中使用&删除pom中的Mockito依赖项.
when you are defining the power mock jars in pom.xml, you don't need to explicitly define dependent jars as incompatible versions may come in the classpath. Use below two versions & remove mockito dependency in you pom.
<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>
这篇关于dropwizard + Powermock + Mockito + Maven构建错误,并带有ClassNotFoundException"ThreadSafeMockingProgress"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!