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

使用 Mockito 時,模擬和間諜有什么區(qū)別?

What is the difference between mocking and spying when using Mockito?(使用 Mockito 時,模擬和間諜有什么區(qū)別?)
本文介紹了使用 Mockito 時,模擬和間諜有什么區(qū)別?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

使用 Mockito 間諜的用例是什么?

What would be a use case for a use of a Mockito spy?

在我看來,每個間諜用例都可以通過模擬處理,使用 callRealMethod.

It seems to me that every spy use case can be handled with a mock, using callRealMethod.

我可以看到的一個區(qū)別是,如果您希望大多數方法調用是真實的,它可以節(jié)省一些代碼行來使用模擬與間諜.是這樣還是我錯過了更大的圖景?

One difference I can see is if you want most method calls to be real, it saves some lines of code to use a mock vs. a spy. Is that it or am I missing the bigger picture?

推薦答案

答案在文檔:

真正的部分模擬(自 1.8.0 起)

Real partial mocks (Since 1.8.0)

最后,經過多次內部辯論&郵件列表上的討論,部分模擬支持已添加到 Mockito.以前我們將部分模擬視為代碼異味.但是,我們發(fā)現了部分模擬的合法用例.

Finally, after many internal debates & discussions on the mailing list, partial mock support was added to Mockito. Previously we considered partial mocks as code smells. However, we found a legitimate use case for partial mocks.

在 1.8 版之前,spy() 沒有產生真正的部分模擬,這讓一些用戶感到困惑.閱讀更多關于間諜的信息:這里 或在 javadoc 中用于 spy(Object) 方法.

Before release 1.8 spy() was not producing real partial mocks and it was confusing for some users. Read more about spying: here or in javadoc for spy(Object) method.

callRealMethod() 是在 spy() 之后引入的,但 spy() 當然是留在那里,以確保向后兼容.

callRealMethod() was introduced after spy(), but spy() was left there of course, to ensure backward compatibility.

否則,你是對的:間諜的所有方法都是真實的,除非被存根.除非調用 callRealMethod(),否則模擬的所有方法都會被存根.一般來說,我更喜歡使用 callRealMethod(),因為它不會強迫我使用 doXxx().when() 成語而不是傳統(tǒng)的 when().thenXxx()

Otherwise, you're right: all the methods of a spy are real unless stubbed. All the methods of a mock are stubbed unless callRealMethod() is called. In general, I would prefer using callRealMethod(), because it doesn't force me to use the doXxx().when() idiom instead of the traditional when().thenXxx()

這篇關于使用 Mockito 時,模擬和間諜有什么區(qū)別?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

相關文檔推薦

How to mock super reference (on super class)?(如何模擬超級參考(在超級類上)?)
Java mock database connection(Java 模擬數據庫連接)
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(模擬;使用列表調用驗證方法,忽略列表中元素的順序)
主站蜘蛛池模板: 天堂av资源 | 精品免费国产一区二区三区四区 | 精品在线看 | 欧美a级成人淫片免费看 | 欧美久久一区二区 | 久久久久久99 | 国产亚洲高清视频 | 欧美一区二区三区在线看 | 一区二区免费在线观看 | 国产精品爱久久久久久久 | 午夜三级网站 | 天天天天操 | 久久亚洲国产 | 午夜精品久久久久久不卡欧美一级 | 国产高清在线 | www.久久艹 | 狠狠久 | 亚洲欧美精品久久 | 国产一区二区三区免费观看在线 | 亚洲精品成人网 | 久久久久国产精品 | 在线免费看91 | 97超碰人人 | 欧美一区二区在线 | 国产精彩视频在线观看 | 久久久久一区二区三区 | 91伊人 | 天天干天天操天天射 | 亚洲黄色av网站 | 国产精品极品美女在线观看免费 | 91在线电影| 激情五月综合网 | 国产日韩免费观看 | 在线欧美小视频 | 91精品国产综合久久久久久漫画 | 午夜日韩| 国产一区欧美一区 | 日韩av一区二区在线观看 | 最近中文字幕在线视频1 | 国产农村妇女精品一二区 | 午夜在线视频一区二区三区 |