如何使用mockito在过滤器中模拟一个受空洞保护的方法,并使其返回一些“响应”
因为它是一个void方法,我不能使用doReturn(某些值),有没有办法设置响应并使
它返回。
答案 0 :(得分:1)
简短的回答是,你不能,答案很长,即使你可以,你也不应该。
测试的目的应该是验证类/方法的行为。你的过滤器有什么作用?通过代码可能的路径是什么?它必须返回一个值,有副作用或与另一个对象通信。这些是你应该测试的东西。
例如,看到这是一个过滤器链,我假设它将应用一些逻辑并调用下一个过滤器。您应该模拟链中的下一个过滤器,并断言它是否正确调用,具体取决于您的逻辑。
答案 1 :(得分:0)
我不认为我们可以从返回void的方法返回任何响应,但是如果我们想要模拟一个返回void的方法,我们可以使用:
Mockito.doNothing().when(apiService).methodNamethatReturnsVoid(Mockito.anyString();