簡體   English   中英

如何使用Mockito驗證void方法

[英]How to verify void method with the Mockito

我正在為名稱為NetworkRequest的類編寫一些unitTest 在此類中,我有一個函數,其名稱為run

public void run(NetworkResponseListener listener) {
        if (listener == null)
            return;

        this.mListener = listener;

        CheckInternetAccess.checkInternetAccess(manager, new NetworkStateListener() {
            @Override
            public void onInternetResponse(int internetCode) {

                if (internetCode == ErrorCodes.CODE_HAS_INTERNET_ACCESS) {
                    runRequest();
                } else {
                    mListener.onNetworkResponse(null);
                }

            }
        });

    }

我想在輸入偵聽器( NetworkResponseListener )為null時創建一個測試。

我寫了如下內容:

public class NetworkRequestTest {

    private ReceivedRequest receivedRequest = Mockito.mock(ReceivedRequest.class);
    private ConnectivityManager connectivityManager = Mockito.mock(ConnectivityManager.class);
    private NetworkStateListener networkStateListener = Mockito.mock(NetworkStateListener.class);

    @Test
    public void checkInternetAccessShouldNotCallWithNullListener() {
        NetworkRequest networkRequest = new NetworkRequest(receivedRequest, connectivityManager);//SUT

        networkRequest.run(null);

        Mockito.verify(CheckInternetAccess.checkInternetAccess(connectivityManager, networkStateListener), Mockito.never());
    }
}

我想檢查CheckInternetAccess.checkInternetAccess驗證,但是出現錯誤消息:

Wrong 1st argument type. Found: 'void', required: 'java.lang.Void'

嘗試在模擬對象上使用Mockito.verifyZeroInteractions(...)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM