如何在Junits中使void保护方法返回响应

时间:2014-12-19 13:38:44

标签: junit mockito

如何使用mockito在过滤器中模拟一个受空洞保护的方法,并使其返回一些“响应”

因为它是一个void方法,我不能使用doReturn(某些值),有没有办法设置响应并使

它返回。

2 个答案:

答案 0 :(得分:1)

简短的回答是,你不能,答案很长,即使你可以,你也不应该

测试的目的应该是验证类/方法的行为。你的过滤器有什么作用?通过代码可能的路径是什么?它必须返回一个值,有副作用或与另一个对象通信。这些是你应该测试的东西。

例如,看到这是一个过滤器链,我假设它将应用一些逻辑并调用下一个过滤器。您应该模拟链中的下一个过滤器,并断言它是否正确调用,具体取决于您的逻辑。

答案 1 :(得分:0)

我不认为我们可以从返回void的方法返回任何响应,但是如果我们想要模拟一个返回void的方法,我们可以使用:

Mockito.doNothing().when(apiService).methodNamethatReturnsVoid(Mockito.anyString();