中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Mockito 2 關于打標(stubbing)

發布時間:2020-07-09 11:07:58 來源:網絡 閱讀:206 作者:HoneyMoose 欄目:編程語言

請參考下面有關于打標的代碼。

//You can mock concrete classes, not just interfaces
LinkedList mockedList = mock(LinkedList.class);
?
//stubbing
when(mockedList.get(0)).thenReturn("first");
when(mockedList.get(1)).thenThrow(new?RuntimeException());
?
//following prints "first"
System.out.println(mockedList.get(0));
?
//following throws runtime exception
System.out.println(mockedList.get(1));
?
//following prints "null" because get(999) was not stubbed
System.out.println(mockedList.get(999));
?
//Although it is possible to verify a stubbed invocation, usually it's just redundant
//If your code cares what get(0) returns, then something else breaks (often even before verify() gets executed).
//If your code doesn't care what get(0) returns, then it should not be stubbed.
verify(mockedList).get(0);
  • 在默認情況下,所有的方法都會有一個返回值。mock 函數默認返回的是 null,一個空的集合或者一個被對象類型包裝的內置類型。例如,針對?int/Integer 將會返回 0,針對 boolean/Boolean 將會返回 false。

  • 打標(Stubbing)可以被重寫:例如一個通用的打標可以在啟動的時候被確定(fixture),但是測試方法可以對其進行重寫(override)。請注意重寫的打標可能會在有很多標記的時候存在潛在的問題。

  • 一旦被打標,方法將會總是返回已標記的內容,這個與這個方法被調用多少次無關。

  • 最后的標記非常重要——當你對有相同參數的方法進行多次標記的時候。換句話說就是:標記的順序是有關的(the order of stubbing matters),但是這個意義并不是很大。例如,這個只在標記完全相同的方法或者有時候參數匹配(argument matchers)被啟用的時候,等情況下才會出現。, etc.

測試代碼請訪問 GitHub

https://github.com/cwiki-us-demo/mockito-demo-java/blob/master/src/test/java/com/ossez/demo/mockito/MockitoStubbingTest.java

請注意,上面的測試代碼在運行的時候回出現錯誤。

這是因為在測試代碼運行的時候,我們嘗試輸出?mockedList.get(1),這個在測試的時候,因為我們打標為拋出異常,所以這一句話將會在測試代碼中拋出異常。

運行時候,拋出異常的界面如下:

Mockito 2 關于打標(stubbing)

?

https://www.cwiki.us/pages/viewpage.action?pageId=47843418


向AI問一下細節

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

AI

五河县| 湖北省| 石屏县| 临泉县| 涪陵区| 丘北县| 永城市| 湘乡市| 内黄县| 屯留县| 阿勒泰市| 遂宁市| 伊金霍洛旗| 六安市| 盈江县| 当阳市| 新巴尔虎左旗| 连江县| 临桂县| 左云县| 新津县| 尉犁县| 靖宇县| 屯昌县| 介休市| 辽阳市| 常熟市| 湘潭市| 雷州市| 丹凤县| 弥勒县| 湖南省| 谷城县| 青浦区| 东城区| 柞水县| 安庆市| 吐鲁番市| 垫江县| 延寿县| 轮台县|