好的我正在使用JMockit 1.19并尝试使用NonStrictExpectations使方法抛出异常时遇到此问题。但是我一直得到这个“IncompatableClassChangeError”。我不允许在工作中分享我的确切代码,但我已经用下面的示例代码重新创建了问题,这给了我同样的问题
被测试的类
public class TestClassRemove {
A a = new A();
public String testMethod(){
String s = null;
try{
s = a.getA();
}
catch(Exception e){
System.out.println("caught exception");
}
return s;
}
}
A类,其方法由TestClassRemove
调用public class A {
public String getA(){
return "hello";
}
}
我遇到问题的测试类
@RunWith(JMockit.class)
public class TestingTests {
private TestClassRemove testClassRemove = new TestClassRemove();
@Mocked
A a;
@Test (expected=Exception.class)
public void testResultsEqual(){
new NonStrictExpectations(){{
a.getA();
result = new Exception(); //This throws "IncompatableClassChangeError"
}};
testClassRemove.testMethod();
}
}
由于某种原因,行“result = new Exception();”抛出了这个“IncompatableClassChangeError”。任何想法?????????
对于命名不佳的课程
抱歉答案 0 :(得分:0)
好的,所以在经过近一周的工作并询问办公室里的每个人之后,我终于解决了这个问题。我在构建路径上链接了另一个项目,以及导致此问题的原因。它不仅影响了这一点,而且还阻止了eclEmma与Mockito的合作。使用JMockit,Mockito和eclEmma链接构建路径上的项目将导致错误。