我是junit和mockito的新手,所以问题可能是一个明显的问题。 我对mockito有一个问题,其中“测试对象”中本地实例化的对象为空。在这个特定部分中没有调用私有(private)/ protected / final方法,因此这不是问题。 我还使用 PowerMockito 进行其他私有(private)方法调用。
我的类(class)要测试的部分: 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)));
我不明白我做错了什么。任何帮助将不胜感激!
谢谢
最佳答案
我相信发生的事情是您没有向被测试的类提供 user
模拟。
关于java - Mockito:要测试的类中的空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17344182/