运行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。
谢谢!