久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

Mockito:如何驗證一個方法只被調(diào)用一次,使用精確

Mockito: How to verify a method was called only once with exact parameters ignoring calls to other methods?(Mockito:如何驗證一個方法只被調(diào)用一次,使用精確的參數(shù)忽略對其他方法的調(diào)用?) - IT屋-程序員軟件開發(fā)
本文介紹了Mockito:如何驗證一個方法只被調(diào)用一次,使用精確的參數(shù)忽略對其他方法的調(diào)用?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

在 Java 中使用 Mockito 如何驗證一個方法只被調(diào)用了一次,而忽略了對其他方法的調(diào)用?

Using Mockito in Java how to verify a method was called only once with exact parameters ignoring calls to other methods?

示例代碼:

public class MockitoTest {

    interface Foo {
        void add(String str);
        void clear();
    }


    @Test
    public void testAddWasCalledOnceWith1IgnoringAllOtherInvocations() throws Exception {
        // given
        Foo foo = Mockito.mock(Foo.class);

        // when
        foo.add("1"); // call to verify
        foo.add("2"); // !!! don't allow any other calls to add()
        foo.clear();  // calls to other methods should be ignored

        // then
        Mockito.verify(foo, Mockito.times(1)).add("1");
        // TODO: don't allow all other invocations with add() 
        //       but ignore all other calls (i.e. the call to clear())
    }

}

TODO: 不允許使用 add() 部分的所有其他調(diào)用中應該做什么?

What should be done in the TODO: don't allow all other invocations with add() section?

已經(jīng)嘗試失敗:

  1. verifyNoMoreInteractions(foo);

不.它不允許調(diào)用其他方法,例如 clear().

Nope. It does not allow calls to other methods like clear().

  1. verify(foo, times(0)).add(any());

不.它沒有考慮到我們允許一次調(diào)用 add("1").

Nope. It does not take into account that we allow one call to add("1").

推薦答案

Mockito.verify(foo, Mockito.times(1)).add("1");
Mockito.verify(foo, Mockito.times(1)).add(Mockito.anyString());

第一個 verify 檢查預期的參數(shù)化調(diào)用,第二個 verify 檢查是否只有一次對 add 的調(diào)用.

The first verify checks the expected parametrized call and the second verify checks that there was only one call to add at all.

這篇關于Mockito:如何驗證一個方法只被調(diào)用一次,使用精確的參數(shù)忽略對其他方法的調(diào)用?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權益,請聯(lián)系我們刪除處理,感謝您的支持!

相關文檔推薦

How to mock super reference (on super class)?(如何模擬超級參考(在超級類上)?)
Java mock database connection(Java 模擬數(shù)據(jù)庫連接)
Mockito ClassCastException - A mock cannot be cast(Mockito ClassCastException - 無法投射模擬)
Set value to mocked object but get null(將值設置為模擬對象但獲取 null)
How to mock DriverManager.getConnection(...)?(如何模擬 DriverManager.getConnection(...)?)
Mockito; verify method was called with list, ignore order of elements in list(模擬;使用列表調(diào)用驗證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 中文在线观看视频 | 亚州综合一区 | 黄色一级在线播放 | 成人黄色在线 | 午夜精品视频一区 | 亚洲精品国产电影 | 日韩免费一级 | 国产精品一二三区 | 亚洲欧美日韩精品 | 久久国产区 | 亚洲精品久久久久久久久久久久久 | 精品不卡 | 国产精品久久久久久久久久免费看 | 国内精品视频在线观看 | 国产精品a久久久久 | 日本三级在线网站 | 91中文字幕在线观看 | 亚洲成a人片 | 日本成人午夜影院 | 日韩一二三区视频 | 国产精品毛片久久久久久久 | 中文天堂网 | 国产精品久久久久999 | 欧美日韩一本 | 爱爱视频日本 | 国产精品不卡一区 | 精品一二区 | 黄色免费网址大全 | 国产精品区二区三区日本 | 欧美日本一区 | 日韩欧美二区 | 99精品国产一区二区青青牛奶 | japanhd美女动 | 91精品久久久久久久久99蜜臂 | 国产精品国产a级 | 亚洲一av | 精品国产欧美 | 国产精品久久久久一区二区三区 | 一级大片 | 日本精品裸体写真集在线观看 | 亚洲精品无人区 |