Java 使用mockito模拟调用

Java 使用mockito模拟调用,java,junit,mocking,mockito,Java,Junit,Mocking,Mockito,我希望下面的调用链被嘲笑 sessionId = genericRequestVO.getLimitRequestVOList().get(0).getSessionId(); 为此,我正在做 GenericRequestVO genericRequestVO=mock(GenericRequestVO.class); List<LimitRequestVO> limitList=mock(LinkedList.class); LimitRequestVO limitRequ

我希望下面的调用链被嘲笑

sessionId = genericRequestVO.getLimitRequestVOList().get(0).getSessionId();
为此,我正在做

 GenericRequestVO genericRequestVO=mock(GenericRequestVO.class);
 List<LimitRequestVO> limitList=mock(LinkedList.class);
 LimitRequestVO limitRequestVO=mock(LimitRequestVO.class);
 when(genericRequestVO.getLimitRequestVOList()).thenReturn(limitList);
 when(limitList.get(0)).thenReturn(limitRequestVO);
 when(limitRequestVO.getSessionId()).thenReturn("1234");
但我得到的是NullPointerException,而不是预期值

请说明为什么这一条行不通? 关于时间和时间,我是否遗漏了任何关键概念?
我假设我只需要在模拟对象上指定一个when情况,它将返回所需的结果。

您确定没有忘记设置测试单元或SUT的GenericRequestVO吗?如果您为我们提供了整个测试以及被测单元的设置代码,我们将有更多的工作要做。空指针异常发生在哪里?