web-dev-qa-db-fra.com

Erreur interne d'API d'extension: org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl

J'essaie d'écrire un test unitaire à l'aide de PowerMockRunner, mais j'ai l'erreur suivante:

Java.lang.IllegalStateException: erreur interne de l'API d'extension: org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl n'a pas pu être situé dans classpath. à 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)

J'ai vérifié toutes les dépendances et tout va bien, ai-je besoin d'autre chose?

17
Thiago Gonzaga

Après avoir posté la question, j'ai trouvé la réponse, il semble que ce soit un problème avec la version 1.6.5, il nécessite une dépendance supplémentaire, c'est décrit ici .

La dépendance est powermock-api-mockito-common version 1.6.5, vous pouvez soit l’ajouter à votre pom.xml 

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

ou téléchargez le jar

20
Thiago Gonzaga

Après avoir ajouté 

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

nous obtenons - "Java.lang.IllegalStateException: erreur interne de l'API d'extension: org.powermock.api.extension.proxyframework.ProxyFrameworkImpl n'a pu être localisée dans le chemin d'accès aux classes."

Pour résoudre ce problème, ajoutez également la dépendance ci-dessous -

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

maintenant ça fonctionne bien

5
Moni

Après cela - http://fewtechissues.blogspot.com/2017/12/mockito-error.html dependencies and versions ont résolu le problème pour moi.

<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