Внутренняя ошибка расширения API: org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl
Я пытаюсь написать unit test с помощью PowerMockRunner, но я получил следующую ошибку:
java.lang.IllegalStateException: внутренняя ошибка внутреннего API расширения: org.powermock.api.extension.reporter.MockingFrameworkReporterFactoryImpl не может быть расположен в 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)
Я проверил все зависимости, и все в порядке, мне нужно что-то еще?
Ответы
Ответ 1
После публикации вопроса я нашел ответ, кажется, проблема с версией 1.6.5, ему нужна дополнительная зависимость, она описала здесь.
Зависимость - это 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
Ответ 2
После добавления
<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>
теперь его рабочий тон