我正在使用TestNG进行测试,使用JMockit来模拟mockMethod()。这是测试用例:
@Test
public void testClass1() {
new MockUp<MyInterface>() {
@Mock
public int myMethod(final MyObject someObject ){
return 0;
}
};
MyObject obj = new MyObject();
Assert.assertEquals(obj.mockMethod(someObject),0);
}
}
我要求assertEquals()的mockMethod()看起来像这样:
public class Class1 {
MyInterface my;
public int mockMethod(final MyObject someObject ){
...... //processing steps
return my.myMethod(someObject);
}
}
测试用例抛出Null指针异常。我究竟做错了什么?我是否嘲笑mockMethod()的实现?我也尝试过,但它没有用。
答案 0 :(得分:0)
JMockit创建了MyInterface
的模拟实例,但您的测试从未使用过它。它可以通过MockUp#getInstance()
方法获得。当然,测试还需要将实例传递给被测试的类。