web-dev-qa-db-ja.com

拡張API内部エラー:org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl

PowerMockRunnerを使用して単体テストを作成しようとしていますが、次のエラーが発生しました。

Java.lang.IllegalStateException:拡張API内部エラー:org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImplがクラスパスに見つかりませんでした。 org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.getFrameworkReporterFactory(AbstractTestSuiteChunkerImpl.Java:190)at org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.getMockingFrameworkReporter:JUnit4TestSuiteSuiteCTest.hunterImpl.Java org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.run(AbstractCommonPowerMockRunner.Java:53)の.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.run(JUnit4TestSuiteChunkerImpl.Java:119)at org.powermock org.Eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.Java:86)at org.Eclipse.jdt.internal.junit.runnerの.modules.junit4.PowerMockRunner.run(PowerMockRunner.Java:59) org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.Java:459)at org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTestsの.TestExecution.run(TestExecution.Java:38) (RemoteTestRunner.Java:675)org.Eclipse.jdt.internal.junit.ru org.Eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.Java:192)のnner.RemoteTestRunner.run(RemoteTestRunner.Java:382)

すべての依存関係を確認しましたが、大丈夫です。他に何か必要ですか?

18
Thiago Gonzaga

私が答えを見つけた質問を投稿した後、それはバージョン1.6.5の問題のようで、追加の依存関係が必要です、それは説明されています here

依存関係はpowermock-api-mockito-commonバージョン1.6.5です。pom.xmlに追加できます。

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

または jar をダウンロードします

22
Thiago Gonzaga

追加後

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

「Java.lang.IllegalStateException:拡張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>

今はうまく機能している

5
Moni

これらに続いて- 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>
1
barath