我希望下面的调用链被模拟
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情况,并返回所需的结果。