【问题标题】:Null Pointer Exception in mocking Interface method模拟接口方法中的空指针异常
【发布时间】:2014-07-31 12:15:40
【问题描述】:

我使用 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);
      }
}

测试用例抛出空指针异常。我究竟做错了什么?我要模拟 mockMethod() 的实现吗?我也试过了,但是没用。

【问题讨论】:

    标签: java unit-testing testng jmockit


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-12
      相关资源
      最近更新 更多