」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何模擬方法以傳回 Java 中收到的參數?

如何模擬方法以傳回 Java 中收到的參數?

發佈於2024-11-16
瀏覽:801

How to Mock Methods to Return Arguments Received in Java?

傳回接收到的參數的模擬方法

在物件導向程式設計中,像Mockito 這樣的類比框架用於建立模擬對象用於測試目的的真實物件的行為。測試中的一個常見場景是需要讓模擬方法傳回傳遞給它的相同參數。

Mockito 和Lambda 表達式(Mockito 1.9.5 和Java 8)

對於Mockito 1.9.5 及更高版本與Java 8 或更高版本結合使用,您可以利用lambda表達式來實現此目的行為:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

這裡,i代表InitationOnMock的一個實例, getArguments()[0] 檢索傳遞給模擬方法的第一個參數。

Mockito 和Custom Answers(舊版)

對於舊版的Mockito,您可以使用自訂Mockito Answer 實作:

MyInterface mock = mock(MyInterface.class);
when(mock.myFunction(anyString())).thenAnswer(new Answer() {
    @Override
    public String answer(InvocationOnMock invocation) throws Throwable {
        Object[] args = invocation.getArguments();
        return (String) args[0];
    }
});

此自訂答案會擷取傳遞的參數並傳回它,允許模擬方法回顯收到的輸入。

版本聲明 本文轉載於:1729677594如有侵犯,請洽[email protected]刪除
最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3