首頁 > Java > java教程 > 如何在 Mockito 中有效模擬 Void 方法?

如何在 Mockito 中有效模擬 Void 方法?

Linda Hamilton
發布: 2024-12-25 03:39:08
原創
507 人瀏覽過

How to Mock Void Methods in Mockito Effectively?

使用Mockito 模擬Void 方法

Mockito 中的模擬void 方法可以使用doThrow()、doAnswer()、doNothing 中的方法來模擬實作() 和doReturn() 系列。這些方法可讓您指定具有 void 傳回類型的模擬方法的行為。

範例:

// Mock a void method that throws an exception
Mockito.doThrow(new Exception()).when(instance).methodName();

// Mock a void method that performs some action
Mockito.doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(instance).methodName();
登入後複製

在您的特定範例中,您可以模擬World 類別中的 setState()方法如下:

// Mock the World class
World mockWorld = mock(World.class); 

// Mock the setState method to print the arguments passed to it
doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(mockWorld).setState(anyString());
登入後複製

現在,當你在裡面調用mockWorld.setState()時您的測試中,將執行所提供的答案,從而允許您驗證是否將正確的參數傳遞給了該方法。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板