繁体   English   中英

模拟接口方法中的空指针异常

[英]Null Pointer Exception in mocking Interface method

我正在使用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指针异常。 我究竟做错了什么? 我是否可以模拟模拟方法()的实现? 我也尝试过,但是没有用。

JMockit创建了MyInterface的模拟实例,但是您的测试从未使用过它。 可以通过MockUp#getInstance()方法获得它。 然后,当然测试也需要将实例传递给被测类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM