91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mockito 2 參數匹配器

發布時間:2020-08-06 16:09:22 來源:網絡 閱讀:261 作者:HoneyMoose 欄目:編程語言

Mockito 通過使用?equals()?這種自然的 Java 樣式來校驗參數值。有時候,當需要有其他一些靈活性的時候,你可能會要求使用參數匹配(argument matchers)。

請參考下面的代碼:

//stubbing using built-in anyInt() argument matcher
when(mockedList.get(anyInt())).thenReturn("element");
?
//stubbing using custom matcher (let's say isValid() returns your own matcher implementation):
when(mockedList.contains(argThat(isValid()))).thenReturn("element");
?
//following prints "element"
System.out.println(mockedList.get(999));
?
//you can also verify using an argument matcher
verify(mockedList).get(anyInt());
?
//argument matchers can also be written as Java 8 Lambdas
verify(mockedList).add(argThat(someString -> someString.length() >?5));

參數匹配運行進行靈活校驗或者打標。

請訪問?https://static.javadoc.io/org.mockito/mockito-core/3.0.0/org/mockito/hamcrest/MockitoHamcrest.html?鏈接來查看更多有關自定義參數匹配器/hamcrest matchers(custom argument matchers/hamcrest matchers)的內建參數匹配器和示例。

更多有關?自定義參數匹配器(custom argument matchers)的使用,請參考?ArgumentMatcher?類的 API 文檔。

在使用復雜參數匹配器的時候需要謹慎。嘗試給一個干凈并且簡單的測試的時候,盡量選擇自然的參數匹配使用的是??equals()?對比相對偶然使用??anyX()?來說。有時候可能對你的代碼進行一些重構來允許??equals()?進行匹配,或者可以實現(implement)equals()方法來幫助進行測試。

同時,請閱讀?Capturing arguments for further assertions (Since 1.8.0)?頁面中的內容,或者參考?ArgumentCaptor?類的 API。

ArgumentCaptor?是有關參數匹配器的是特殊實現,能夠為后面的對比(assertions)捕獲參數變量。

參數匹配器的寫法

如果你現在正在使用參數匹配器,所有參數(all arguments)都必須由 matches 提供。

下面的示例代碼顯示校驗,但是一些將會應用到打標中。

verify(mock).someMethod(anyInt(), anyString(), eq("third argument"));
//above is correct - eq() is also an argument matcher
?
verify(mock).someMethod(anyInt(), anyString(),?"third argument");
//above is incorrect - exception will be thrown because third argument is given without an argument matcher.

像?anyObject(),?eq()?Matcher 方法不會返回?matchers。

在內部,他們將會在堆棧(stack)中記錄一個?matcher 然后返回一個虛假的值(通常為 null)。

這種實現方式是基于 Java 編譯器中有關靜態類型的安全性問題而考慮的,從而帶來的結果是你不能在?verified/stubbed 方法外部使用?anyObject(),?eq()

?

https://www.cwiki.us/display/MockitoZH/Argument+matchers


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沛县| 浦江县| 广平县| 阿坝县| 上虞市| 石林| 万山特区| 临沂市| 津南区| 博乐市| 汕尾市| 兰考县| 互助| 搜索| 监利县| 游戏| 金华市| 衡阳市| 东乌珠穆沁旗| 长宁县| 洪洞县| 缙云县| 南昌市| 临夏县| 湾仔区| 晋州市| 宽城| 布拖县| 通州市| 阿巴嘎旗| 商丘市| 阿克陶县| 天津市| 宾川县| 云浮市| 松潘县| 富顺县| 樟树市| 大同市| 永平县| 固安县|