java - dropwizard + Powermock + Mockito + Maven 构建错误,出现 ClassNotFoundException "ThreadSafeMockingProgress"

标签 java maven powermock

为了测试静态方法,我使用 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/

相关文章:

java - 烦恼 - 将 Mina 2.x 与 Spring 3.x 一起使用时的警告

android - 多 dex 的问题

java - 如何使用 Maven 程序集插件从依赖 jar 中排除包?

java - 有什么办法可以代替动态方法吗?

java - Mockito.invokeMethod : Can I pass an implemenation of a functional interface as an argument?

java - 使用 wss4j SimplePasswordValidationCallbackHandler 验证选择性 Spring Web 服务

java - Spring JPA hibernate H2

java - 如何使用 JSoup 通过表单提交文本

java - 将 Eclipse 指向 mvn repo 中的正确 jar 版本

java - Powermockito 模拟静态方法匹配器不起作用