• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    何時應該使用Mock對象?

    發布: 2009-4-10 10:51 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 48次 | 進入軟件測試論壇討論

    領測軟件測試網 在“Ode To Code“網站上,K Scott Allen理性地分析了如何在單元測試中使用mock對象,并分享了他針對mock對象框架使用情況的想法。

            首先,Allen就人們對mock的常見誤解,拋出了尖銳的意見: 
            我們知道,像與SMTP服務器通信的對象這樣的資源,是很難在單元測試中使用的,有些人以為,只有在需要模擬出與這種資源之間的交互行為時,才用得上mock對象。他們是錯的。 
            接下來,他引用了Colin Mackay講述mock的論文,列出了一些常見的使用mock的場景: 
            真實對象有著不確定的行為 
            真實對象很難創建 
            真實對象的行為很難觸發 
            真實對象響應緩慢 
            真實對象是用戶界面 
            真實對象使用了回調機制 
            真實對象尚未存在 
            然后Allen便道出了文章的主旨。他認為,即使是上面列表中的內容也稍顯膚淺,從更深刻、更普遍的意義而言,應該是”在你想把被測試的代碼分離的時候,test doubles[mocks]就顯出了作用!昂喍灾,按照Allen的觀點,用了mock對象,業務組件的測試代碼就可以不依賴其它組件了;試舉一例來看,A依賴于B,但A的單元測試只會因為A的問題而出現問題,跟B的狀態無干。

            文章還講到了在真正的測試驅動開發中,mock對象所扮演的角色: 
            "模擬角色,而非對象"的作者們寫到,mock技術:

            "……在基于對象角色構建的系統中,可以識別出各種角色類型……尤其是,我們已經知道了Mock Object可以為我們帶來的最大好處——曾被稱為接口識別的概念"。 
            在文章的最后,Allen評價了一些mock對象框架,包括JMock、EasyMock、NUnit。他堅持認為,雖然這些框架很簡單,但是想用得得心應手,還得花些心思。


    更多相關的軟件測試文章:使用 MOCK 對象進行單元測試的實例講解、junit學習之-mock學習


    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: Mock MOCK mock 對象


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>