從模擬方法返回傳遞的參數
在某些情況下,模擬方法可能需要返回與傳遞的相同參數到它。 Mockito 是一個著名的Java 模擬框架,提供了多種方法來實現此行為:
Mockito 1.9.5 with Java 8
利用lambda 表達式,您現在可以簡潔地定義行為:
<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>
舊版Mockito 版本
或者,對於舊版本的Mockito,您可以建立自訂答案:
<code class="java">when(mock.myFunction(anyString())).thenAnswer(new Answer<String>() { @Override public String answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); return (String) args[0]; } });</code>
此答案實作從呼叫中檢索第一個參數並傳回它,有效地傳回傳遞給模擬方法的相同字串。
以上是如何從 Java 中的模擬方法傳回參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!