扩展API内部错误:org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl

时间:2016-05-13 14:16:36

标签: java eclipse junit powermock powermockito

我尝试使用PowerMockRunner编写单元测试但是我收到以下错误:

  

java.lang.IllegalStateException:Extension API内部错误:   org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl   无法位于类路径中。在   org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.getFrameworkReporterFactory(AbstractTestSuiteChunkerImpl.java:190)     在   org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.getMockingFrameworkReporter(JUnit4TestSuiteChunkerImpl.java:140)     在   org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.java:119)     在   org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.java:53)     在   org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59)     在   org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)     在   org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)     在   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)     在   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)     在   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)     在   org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

我检查了所有依赖项,没关系,我还需要其他东西吗?

3 个答案:

答案 0 :(得分:22)

在发布问题后,我找到了答案,它似乎是版本1.6.5的一个问题,它需要一个额外的依赖,它描述为here

依赖是powermock-api-mockito-common version 1.6.5,你可以将它添加到你的pom.xml

<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito-common</artifactId>     
    <version>1.6.5</version>
</dependency>

或下载jar

答案 1 :(得分:5)

添加

<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito-common</artifactId>     
    <version>1.6.5</version>
</dependency> 

我们得到了 - “java.lang.IllegalStateException:Extension API内部错误:org.powermock.api.extension.proxyframework.ProxyFrameworkImpl无法在类路径中找到。”

要解决此问题,请添加以下依赖项 -

<dependency>
            <groupId>org.powermock</groupId>
            <artifactId>powermock-api-mockito</artifactId>
            <version>1.5.1</version>
            <scope>test</scope>
</dependency>

现在工作正常

答案 2 :(得分:1)

遵循这些 - http://fewtechissues.blogspot.com/2017/12/mockito-error.html依赖关系和版本为我解决了这个问题。

<dependency>
    <groupId>org.mockito</groupId>
    <artifactId>mockito-core</artifactId>
    <version>1.10.19</version>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-api-mockito</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <groupId>org.mockito</groupId>
            <artifactId>mockito-core</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.powermock</groupId>
    <artifactId>powermock-module-junit4</artifactId>
    <version>1.7.0</version>
    <scope>test</scope>
</dependency>