成人免费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對象,就是非真實對象,是模擬出來的一個對象??梢岳斫鉃槠嚺鲎矞y試的那個假人。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技術

2021-03-24 09:30:02

Jupyter not單元測試代碼

2010-03-04 15:40:14

Python單元測試

2023-10-28 10:10:41

2012-11-01 11:32:23

IBMdw

2012-11-01 11:37:05

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

51CTO技術棧公眾號

主站蜘蛛池模板: 久久精品二区 | 国产a一区二区 | 成年人在线播放 | 在线视频成人 | 91资源在线播放 | 国产精品国产精品国产专区不蜜 | 不卡欧美 | 91网在线观看 | 97精品视频在线 | 婷婷综合 | 精品影院 | 伊人久久伊人 | 九色在线| 三级在线免费 | 亚洲免费一区 | 四虎影院在线播放 | 久久91av | 日本 欧美 国产 | 黄色一级毛片 | 欧洲色 | 欧美亚洲高清 | 免费在线观看成人 | 欧美激情在线一区二区三区 | 亚洲日日 | 免费黄色的视频 | 日韩在线欧美 | 99亚洲精品视频 | 中文字幕日本一区二区 | 一级毛片成人免费看a | 性在线| 国产日韩一区二区 | 亚洲综合日韩精品欧美综合区 | 亚洲综合在线视频 | 成年人免费在线视频 | 中文字幕欧美在线观看 | 日韩av在线一区 | 亚洲福利在线观看 | tube国产 | 国产欧美三区 | 午夜性色a√在线视频观看9 | 欧美色欧美亚洲另类七区 |