I'm running a junit
test case using the PowerMock
test runner. I'm using the following command line to execute it:
java -cp .:junit-4.9b2.jar:easymock-3.0.jar:powermock-easymock-1.4.8-full.jar org.junit.runner.JUnitCore SampleTest
When doing so I am receiving this error:
initializationError(SampleTest) java.lang.NoClassDefFoundError: org/junit/internal/runners/TestClassRunner ...
How can I fix it?
I just solved this one now, when I added the @RunWith(PowerMockRunner.class)
attribute, eclipse
automatically imported:
import org.powermock.modules.junit4.legacy.PowerMockRunner;
All I needed to do is change it to be:
import org.powermock.modules.junit4.PowerMockRunner;
And now it works fine with JUnit 4.8.2
.
The 2nd runner is for when running with older versions of JUnit
- specifically 4.3
and older.
See here
You're probably using the wrong PowerMockRunner. There's one runner made for JUnit 4.4 and above and a second runner made for JUnit 4.0-4.3 (although the latter also works for some older minor versions of JUnit 4.4).
Try switching from the org.powermock.modules.junit4.PowerMockRunner to org.powermock.modules.junit4.legacy.PowerMockRunner or vice versa. Look at the getting started guide to see how to configure this in maven.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With