对于测试静态方法,我使用的是Power mock和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,如果我运行所有测试用例(右键单击项目+运行“所有测试”),它的工作非常好。有没有人对这个问题有任何想法?
答案 0 :(得分:1)
当您在pom.xml中定义power mock jar时,您不需要显式定义从属jar,因为类路径中可能会出现不兼容的版本。使用以下两个版本&amp;删除你的pom中的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>