运行JMockit Mocks时为什么会出现NoClassDefFoundError?

我正在使用Junit 4运行JMockit并得到错误java.lang.NoClassDefFoundError.

我想测试我的类(mycomponent)如何处理从第三方库静态类返回的值。 我正在接近这个通过创建模拟类(mocked3rdpartycomponent),然后调用我的mycomponent如下:

mytest-> mycomponent-> mocked3rdpartycomponent

模拟类的定义如下。 模拟的方法和类是替换前面提到的第三方库:

 new Mockup() { @Mock public ReturnType[] mockedMethod() { ReturnType[] ni = {null}; return ni; } } Mycomponent mc = new MyComponent(); 

当我运行我的测试类时,我收到以下错误:

 java.lang.NoClassDefFoundError: mockit/internal/state/TestRun at (MockedClass.java) at . caused by: java.lang.ClassNotFoundException: mockit.internal.state.TestRun 

编辑:除此之外,如果我试图在被测单元中调用我的假电话,则会出现一个屏幕,指出无法找到Junit的源代码。

编辑:第三方库也是一些静态方法。

有谁知道这可能是由什么引起的?

我的环境是Eclipse Mars 4.5.0,JUnit 4.10,JMockit 1.19。

谢谢!