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?
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
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
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>