NoClassDefFoundError when using Powermock

lukas picture lukas · Mar 13, 2011 · Viewed 40.4k times · Source

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?

Answer

RonK picture RonK · Jul 5, 2011

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.