亲爱的MBA智库百科用户:


过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。


MBA智库百科VIP会员,您的权益将包括: 1、无广告阅读; 2、免验证复制。


当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!



MBA智库百科项目组
2023年8月10日
百科VIP
未登录
无广告阅读
免验证复制
1年VIP
¥ 9.9
支付方式:
微信支付
支付宝
PayPal
购买数量:
1
应付金额:
9.9
汇率换算:
9.9
美元(USD)

按当月汇率换算,

包含手续费

打开手机微信 扫一扫继续付款
立即开通
PayPal支付后,可能会遇到VIP权益未及时开通的情况,请您耐心等待,或者联系百科微信客服:mbalib888。
温馨提示:当无法进去支付页面时,可刷新后重试或更换浏览器
开通百科会员即视为同意《MBA智库·百科会员服务规则》

支付成功

全球专业中文经管百科,由121,994位网友共同编写而成,共计436,066个条目

模擬對象

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

模擬對象(mock object)

目錄

[隱藏]

什麼是模擬對象

  在面向對象程式設計中,模擬對象也譯作模仿對象。是以可控的方式模擬真實對象行為的假的對象。程式員通常創造模擬對象來測試其他對象的行為,很類似汽車設計者使用碰撞測試假人來模擬車輛碰撞中人的動態行為。

模擬對象的必要性

  在單元測試中,模擬對象可以模擬複雜的、真實的(非模擬)對象的行為, 如果真實的對象無法放入單元測試中,使用模擬對象就很有幫助。

在下麵的情形,可能需要使用模擬對象來代替真實對象:

  • 真實對象的行為是不確定的(例如,當前的時間或當前的溫度);
  • 真實對象很難搭建起來;
  • 真實對象的行為很難觸發(例如,網路錯誤);
  • 真實對象速度很慢(例如,一個完整的資料庫,在測試之前可能需要初始化);
  • 真實的對象是用戶界面,或包括用戶界面在內;
  • 真實的對象使用了回調機制;
  • 真實對象可能還不存在;
  • 真實對象可能包含不能用作測試(而不是為實際工作)的信息和方法。

  例如,一個可能會在特定的時間響鈴的鬧鐘程式可能需要外部世界的當前時間。要測試這一點,測試一直要等到鬧鈴時間才知道鬧鐘程式是否正確地響鈴。如果使用一個模擬對象替代真實的對象,可以變成提供一個鬧鈴時間(不管是否實際時間),這樣就可以隔離地測試鬧鐘程式。

局限性

  模擬對象的使用可能會將單元測試與被測代碼的實現耦合得很緊。例如,許多模擬對象框架允許開發人員指定模擬對象上方法被調用的次序和調用的次數,這樣,測試通過後對代碼進行重構,即使方法依然遵守以前實現的契約,也可能會造成測試失敗。這說明單元測試應當測試方法的外部行為,而非其內部實現。在單元測試測試用例中過度使用模擬對象可能導致隨著系統的發展,不斷進行的重構會造成維護測試本身的工作量出現顯著的增長。在發展過程中,這種測試的不正確地維護可能會漏報錯誤,而在使用真實對象進行的測試中會捕捉到。相反,與設置好整個真實對象相比,簡單地模擬一個方法可能需要更少的配置,因此減少了需要的維護工作。

  模擬對象必須要準確地建模它們要模擬的對象的行為,然而,如果要模擬的對象來自另一個開發人員或項目,或者如果還沒有開發出來,準確的建模是很難做到。如果沒有正確建模行為,那麼可能會單元測試記錄通過,而真正運行時,在同樣條件下可能會造成測試失敗。

本條目對我有幫助1
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

苏青荇.

評論(共0條)

提示:評論內容為網友針對條目"模擬對象"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

官方社群
下载APP
告MBA智库百科用户的一封信
亲爱的MBA智库百科用户: 过去的17年,百科频道一直以免费公益的形式为大家提供知识服务,这是我们团队的荣幸和骄傲。 然而,在目前越来越严峻的经营挑战下,单纯依靠不断增加广告位来维持网站运营支出,必然会越来越影响您的使用体验,这也与我们的初衷背道而驰。 因此,经过审慎地考虑,我们决定推出VIP会员收费制度,以便为您提供更好的服务和更优质的内容。 MBA智库百科VIP会员(9.9元 / 年,点击开通),您的权益将包括: 1、无广告阅读; 2、免验证复制。 当然,更重要的是长期以来您对百科频道的支持。诚邀您加入MBA智库百科VIP会员,共渡难关,共同见证彼此的成长和进步!
MBA智库百科项目组
2023年8月10日

闽公网安备 35020302032707号

添加收藏

    新建收藏夹

    编辑收藏夹

    20