-1

我是 junit 和 mockito 的新手,所以问题可能很明显。我有一个 mockito 问题,其中“测试对象”中的本地实例化对象为空。在这个特定部分中没有调用私有/受保护/最终方法,所以这不是问题。我也将 PowerMockito 用于其他私有方法调用。

我要测试的类的部分:在 user.getId() 上引发空指针异常-这里的最后一行:

SupportProdUpdatesImpl pAdd = new SupportProdUpdatesImpl();       
Add.setQueryProcssStatus(form.getQueryProcssStatus());          

pAdd.setQueryTitle(form.getQueryTitle().toUpperCase());         
pAdd.setQueryType(form.getQueryType().toUpperCase());

logger.debug("*** query String = " + form.getQuerySQL() );
    pAdd.setQuerySQL(StringUtils.trim(form.getQuerySQL()));
    pAdd.setMakerId(user.getId());

在我的测试中,我创建了一个

User user = mock(User.class) // interface of user
when(user.getId()).thenReturn(new Integer(111)));

我不明白我做错了什么..任何帮助将不胜感激!

谢谢

4

2 回答 2

2

我相信发生的事情是您没有向user被测类提供模拟。

于 2013-06-27T13:38:29.420 回答
1

您是否尝试过 spy 而不是 mock? http://docs.mockito.googlecode.com/hg/latest/org/mockito/Mockito.html#13

于 2013-06-27T14:49:30.043 回答