【发布时间】:2019-08-12 13:47:04
【问题描述】:
我正在尝试对需要模拟一些静态方法的代码进行测试。我发现使用 powermock,我将能够模拟正在使用的静态方法。
我尝试添加这些依赖项 power mock module-junit4 依赖项以及 powermock-api-mockito 并将它们的版本显式设置为 1.7.1:
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>1.7.1</version>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>1.7.1</version>
<scope>test</scope>
</dependency>
@RunWith(PowerMockRunner.class)
@PrepareForTest({SystemParameterQueryHelper.class})
public class VccTemplateConvertorTest{}
线程“main”中的异常 java.lang.NoSuchMethodError: org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.getFrameworkReporterFactory()Lorg/powermock/core/reporter/MockingFrameworkReporterFactory; 在 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:57) 在 org.powermock.modules.junit4.PowerMockRunner.run(PowerMockRunner.java:59) 在 org.junit.runner.JUnitCore.run(JUnitCore.java:157) 在 com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68) 在 com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47) 在 com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242) 在 com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
【问题讨论】:
-
您缺少
powermock-module-junit4的test范围。 ——但这似乎无关紧要。一个类似的配置测试项目适用于我(在 Eclipse 中)。
标签: testing junit mockito powermock