成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

單元測試第四彈——使用Mock技術進行單元測試

開發 開發工具
在Java的單元測試中,很多Mock框架可以使用,用的比較多的有easymock、mockito、powermock、jmockit等。

[[186421]]

碰撞測試是汽車開發活動中的重要組成部分。所有汽車在上市之前都要經過碰撞測試,并公布測試結果。碰撞測試的目的用于評定運輸包裝件在運輸過程中承受多次重復性機械碰撞的耐沖擊強度及包裝對內裝物的保護能力。說簡單點就是為了測試汽車在碰撞的時候鎖所產生的自身損傷、對車內人員及車外人員、物品等的損傷情況。

[[186422]]

在進行汽車的碰撞測試時,當然不能讓真人來進行測試,一般采用假人來測試。但是為了保證測試的真實性及可靠性,假人的生物力學性能應該和人體一樣——比如身體各部分的大小和質量,以及關節的剛性等等,只有這樣使用它們的模擬才能和現實相匹配。為了保證覆蓋到的情況夠全面,一般都會使用各種不同的假人,不同的假人模擬男性或者女性的身體,以及不同身高和年齡的人體。

想想軟件測試,其實和汽車的碰撞測試流程差不多。一個軟件在發布上線之前都要經過各種測試,并產出測試報告,更嚴格的一點的要保證單測覆蓋率不能低于某個值。和汽車碰撞測試類似,我們在軟件測試中也會用到很多“假人”。用這些“假人”的目的也是為了保證測試有效的進行。

why

不知道你在日常開發中有沒有遇到過以下問題或需求:

1、和別人一起做同一個項目,相互之間已經約定好接口。然后你開始開發,開發完自己的代碼后,你想測試下你的服務實現邏輯是否正確。但是因為你依賴的只是接口,真正的服務還有開發出來。

2、還是和上面類似的場景,你要依賴的服務是通過RPC的方式調用的,而外部服務的穩定性很難保證。

3、對于一個接口或者方法,你希望測試其各種不同情況,但是依賴的服務的執行策略及返回值你沒辦法決定。

4、你依賴的服務或者對象很難創建!(比如具體的web容器)

5、依賴的對象的某些行為很難觸發!(比如網絡異常)

6、以上問題你都沒有,但是你要用的那個服務他處理速度實在是太慢了。

上面這些情況都是日常開發測試過程中可能遇到的比較麻煩的問題。這些問題都會大大的提高測試成本。可以說,很多開發人員不愿意寫單元測試很大程度上都和以上這六點有關系。

幸運的是,Mock對象可以解決以上問題。使用mock對象進行的測試就是mock測試。

what

mock測試就是在測試過程中,對于某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來創建以便測試的測試方法。

mock對象,就是非真實對象,是模擬出來的一個對象。可以理解為汽車碰撞測試的那個假人。mock對象就是真實對象在調試期間的代替品。

[[186423]]

你創建這樣一個“假人”的成本比較低,這個“假人”可以按照你設定的“劇情”來運行。

在Java的單元測試中,很多Mock框架可以使用,用的比較多的有easymock、mockito、powermock、jmockit等。

面向對象開發中,我們通常定義一個接口,使用一個接口來描述這個對象。在被測試代碼中只是通過接口來引用對象,所以它不知道這個引用的對象是真實對象,還是mock對象。

好了,這篇文章的內容差不多就這些了,主要是讓大家知道,在Java中可以使用mock對象來模擬真實對象來進行單元測試,好處很多。下一篇會詳細介紹如何使用mockito框架進行單元測試。

【本文是51CTO專欄作者Hollis的原創文章,作者微信公眾號Hollis(ID:hollischuang)】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2017-01-14 23:26:17

單元測試JUnit測試

2017-01-16 12:12:29

單元測試JUnit

2017-01-14 23:42:49

單元測試框架軟件測試

2024-07-29 12:12:59

2013-06-04 09:49:04

Spring單元測試軟件測試

2021-03-28 23:03:50

Python程序員編碼

2023-07-26 08:58:45

Golang單元測試

2023-08-02 13:59:00

GoogleTestCTest單元測試

2012-05-17 09:09:05

Titanium單元測試

2020-08-18 08:10:02

單元測試Java

2009-08-19 09:00:48

單元測試框架自動化測試

2021-05-05 11:38:40

TestNGPowerMock單元測試

2024-10-16 16:09:32

2011-07-04 18:16:42

單元測試

2020-05-07 17:30:49

開發iOS技術

2010-03-04 15:40:14

Python單元測試

2021-03-24 09:30:02

Jupyter not單元測試代碼

2023-10-28 10:10:41

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

JavaScript單元測試測試工具
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品一级在线观看 | 色综合99 | 北条麻妃国产九九九精品小说 | 中文字幕日韩欧美一区二区三区 | 国产精品久久一区 | 日韩在线播放网址 | 欧美日韩一区二区三区不卡视频 | 精品一区二区电影 | 91亚洲精选 | 一区二区三区四区视频 | 99久久精品国产毛片 | 国产成人精品一区二区三区在线 | 精品国产女人 | 欧美亚洲高清 | 国产高清精品一区二区三区 | 四虎最新视频 | 一区二区三区国产视频 | 一级毛片视频在线 | 成人h视频在线 | 亚洲福利免费 | 91精品久久久久久久久久 | 成在线人视频免费视频 | 久久久国产一区二区三区 | 久久精品无码一区二区三区 | 亚洲视频免费在线观看 | 久久久女女女女999久久 | 我要看黄色录像一级片 | 国产日产欧产精品精品推荐蛮挑 | 日韩精品成人av | 日韩在线精品视频 | 久草99| 色婷婷久久 | 国产一区欧美一区 | 日韩黄色免费 | 高清一区二区三区 | 亚洲电影一区二区三区 | 色综合色综合 | 久久丝袜视频 | 婷婷开心激情综合五月天 | 久久久精品在线 | 亚洲一区二区三区在线观看免费 |