NoClassDefFoundError 在使用 Powermock 时出错

2022-09-01 02:53:11

我正在使用测试运行程序运行测试用例。我使用以下命令行来执行它:junitPowerMock

java -cp .:junit-4.9b2.jar:easymock-3.0.jar:powermock-easymock-1.4.8-full.jar org.junit.runner.JUnitCore SampleTest

这样做时,我收到此错误:

initializationError(SampleTest)
java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner
...

我该如何修复它?


答案 1

我现在刚刚解决了这个问题,当我添加属性时,自动导入:@RunWith(PowerMockRunner.class)eclipse

import org.powermock.modules.junit4.legacy.PowerMockRunner;

我需要做的就是把它改成:

import org.powermock.modules.junit4.PowerMockRunner;

现在它工作正常与.JUnit 4.8.2

第二个跑步者适用于使用旧版本(特别是较旧版本)跑步时。JUnit4.3


答案 2

请参阅此处

你可能用错了PowerMockRunner。有一个为JUnit 4.4及更高版本制作的运行器,另一个为JUnit 4.0-4.3制作的运行器(尽管后者也适用于JUnit 4.4的一些较旧的次要版本)。
尝试从 org.powermock.modules.junit4.PowerMockRunner 切换到 org.powermock.modules.junit4.legacy.PowerMockRunner,反之亦然。查看入门指南,了解如何在 maven 中配置它。


推荐