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

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

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

問題描述

使用 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.

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

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.以前我們將部分模擬視為代碼異味.但是,我們發現了部分模擬的合法用例.

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() 成語而不是傳統的 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 時,模擬和間諜有什么區別?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

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

相關文檔推薦

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在线免费观看网站 | 亚洲欧美在线一区 | 日韩精品一区二区不卡 | 中文字幕亚洲视频 | 久久综合香蕉 | 亚洲一区视频在线 | 国产一级片一区二区三区 | 免费视频久久久久 | 国产精品区一区二区三区 | 精品国产一区二区三区久久影院 | 九九热热九九 | 欧美日韩一区二区三区在线观看 | 一级毛片色一级 | 成人福利在线 | xxx视频| 午夜精品一区二区三区在线播放 | 国产原创视频 | 国产久 | 自拍偷拍欧美 | 97久久精品午夜一区二区 | 国产视频91在线 | 久久av影院 | 伊人久久在线 | 日韩一区二区三区精品 | 久久不射电影网 | 国产乱码久久久 | 久久成人精品一区二区三区 | 日本中出视频 | 蜜桃av鲁一鲁一鲁一鲁 | 亚洲+变态+欧美+另类+精品 | 国产视频一区二区 | 亚洲欧美国产精品久久 | 国产天天操 | 精精精精xxxx免费视频 | 亚洲经典一区 | a亚洲精品 | 欧美成人精品 | 人人人人人爽 | 欧美一区二区视频 | 在线观看日韩精品视频 |