我正在尝试使用Mockito模拟一个具有链接接口的方法的类。该类被成功模拟,但是当它调用接口时,抛出一个空指针。代码如下所示:
<% site.posts.sort('date', -1).each(function(item){ %>
<%- item.title %></a>
<% }); %>
我得到了这个解决方案并尝试按照下面的页面上的示例进行操作,但它不起作用:https://static.javadoc.io/org.mockito/mockito-core/2.13.0/org/mockito/Mockito.html#RETURNS_DEEP_STUBS
mock = Mockito.mock(MyProcess.class);
process = mock.getProcess()
.getService() //Interface throwing null exception
.startProcessInstanceByKey("String argument");
上面的示例无效
答案 0 :(得分:6)
你也需要模仿重新调整Service
。您需要模拟所有类的外部依赖项,如果不这样做,则会得到null
。
processMock = Mockito.mock(MyProcess.class);
serviceMock= Mockito.mock(Service.class);
Mockito.doReturn(serviceMock).when(processMock).getService();
Mockito.doReturn(<VALUE>).when(serviceMock).startProcessInstanceByKey("String argument");
您需要使用外部值模拟每一步 - 这就是它的工作原理。