java - Mockito:要测试的类中的空对象

标签 java junit mockito

我是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/

相关文章:

java - 使用 JUnit 和 EasyMock Java 测试 Servlet

java - 有没有办法在 Java 中重新初始化静态类?

java - 如何诊断我们的 java IP 多播应用程序?

java - 如何在 Java 中初始化 FSM actor?

java - 如何模拟当前日期?

java - 为什么在不定义 "when"方法的情况下使用 Mockito 进行 JUnit 测试?

java - 如何在包含在非静态方法中的静态方法上正确使用 Mockito?

java - 使用java打印一系列素数的程序

java - 在 jdbc 应用程序中向前移动 rs.next()

java - Java中的多线程应用程序?