首頁  >  文章  >  Java  >  如何從 Java 中的模擬方法傳回參數?

如何從 Java 中的模擬方法傳回參數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-10-24 05:05:30646瀏覽

How to Pass Arguments Back from Mocked Methods in Java?

從模擬方法返回傳遞的參數

在某些情況下,模擬方法可能需要返回與傳遞的相同參數到它。 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn