測試介紹
對象
這個虛擬的對象就是mock對象。mock對象就是真實對象在調試期間的代替品。
對象使用範疇
真實對象具有不可確定的行為,產生不可預測的效果,(如:股票行情,天氣預報)真實對象很難被創建的 真實對象的某些行為很難被觸發真實對象實際上還不存在的(和其他開發小組或者和新的硬體打交道)等等。
關鍵步驟
使用一個接口來描述這個對象。在產品代碼中實現這個接口,在測試代碼中實現這個接口,在被測試代碼中只是通過接口來引用對象,所以它不知道這個引用的對象是真實對象,還是mock對象。
測試工具
使用Mock Object進行測試,主要是用來模擬那些在套用中不容易構造(如HttpServletRequest必須在Servlet容器中才能構造出來)或者比較複雜的對象(如JDBC中的ResultSet對象)從而使測試順利進行的工具。
目前,在Java陣營中主要的Mock測試工具有JMock,MockCreator,Mockrunner,EasyMock,MockMaker等,在微軟的.Net陣營中主要是Nmock,.NetMock等。
對象實例
一個鬧鐘根據時間來進行提醒服務,如果過了下午5點鐘就播放音頻檔案提醒大家下班了,如果我們要利用真實的對象來測試的話就只能苦苦等到下午五點,然後把耳朵放在音箱旁,我們應該利用mock對象 來進行測試,這樣我們就可以模擬控制時間了,而不用苦苦等待時鐘轉到下午5點鐘了。下面是代碼:
Erlang版本
mock-
複合形 comb.form
1. 表示"模仿","假的"
mock測試可翻譯為mock-test