首頁 > Java > java教程 > 主體

如何在 Mockito 中將參數傳回模擬方法?

Mary-Kate Olsen
發布: 2024-10-23 22:13:02
原創
680 人瀏覽過

How to Return an Argument to a Mocked Method in Mockito?

如何使用 Mockito 讓模擬方法返回傳遞給它的參數

Mockito 是 Java 模擬框架,允許建立模擬物件用於測試目的。模擬方法有助於獨立於其依賴項來測試程式碼。在這種情況下,我們想要模擬一個方法以傳回在方法呼叫期間傳遞給它的值。

解決方案:

自 Mockito 版本 1.9.5 起在 Java 8 中,可以利用 lambda 表達式來實現所需的功能。具體方法如下:

<code class="java">when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);</code>
登入後複製

在此 lambda 表達式中,i 表示 InvocableOnMock 的實例,i.getArguments()[0] 檢索傳遞給模擬方法的第一個參數。

舊版的替代解決方案:

對於舊版的 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>
登入後複製

在此 Answer 實作中,從 InvocableOnMock 實例中擷取參數數組,並傳回第一個參數(字串)。

使用這些方法,您可以在 Mockito 中配置模擬方法以根據傳遞給它們的參數返回值,從而允許更靈活和更現實的測試場景。

以上是如何在 Mockito 中將參數傳回模擬方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!