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

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

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

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

    (四)利用Eclipse進行單元測試

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

    領測軟件測試網  運行新測試用例。這一次,您將看到成功的結果。圖 7 將顯示令人愉快的結果。

    圖 7. RMock 與 jMock 協作使場景 4 測試成功

            Collaborator 模擬對象已被正確設置,并且 mockClassB 對象將按預期執行。
    快速查看測試工具差別
            正如您已經在場景中看到的,jMock 和 RMock 都是用于測試 Java 代碼的強大工具。但是,用于開發和測試的任何其他工具總是有限制。實際上,其他測試工具都是可用的,但是這些測試工具的運行情況都不如 RMock 和 jMock(在 Java 技術中)。個人經驗告訴我 Microsoft® .NET 框架也附帶了一些功能強大的工具(例如 TypeMock),但是那超出了本文(實際上還有平臺)的范圍。
            表 1 顯示了兩個框架之間的一些不同之處以及隨著時間的推移遇到的可能問題,尤其是在 Eclipse 環境中。

    表 1. RMock 與 jMock 測試框架之間的不同之處
    測試模擬樣式

    jMock

    RMock

    可以模擬接口

    是:新的Mock()方法

    是:mock()方法

    可以模擬具體類

    是:帶有CGLIB的mock()方法

    是:mock()或intercept()方法

    可以模擬任何具體類

    否:無參數構造函數必須存在

    可以隨時獲得代理

    否:僅當startVerification()處于就緒狀態后

    使用其他Eclipse插件的問題

    無已知問題

    是:與Eclipse的CoverClipse插件存在內存沖突


    結束語
            我鼓勵您使用這些框架,利用它們的力量來生成單元測試的結果。許多 Java 開發人員不習慣于頻繁編寫測試。而且如果需要編寫測試,通常都是十分簡單、覆蓋方法的主要功能目標的測試。要測試代碼的某些 “難以達到的” 部分,jMock 和 RMock 都是優秀的選擇。
            使用 jMock 和 RMock 將極大地減少代碼中的 bug,提高使用經過證明的方法測試編程邏輯的技巧。此外,閱讀文檔并用這些框架和其他框架的改進版本進行測試(并減少構造不好的代碼)將對提高開發人員技巧有著額外的幫助。

     

    110593_200904021010551zOPf

    110593_200904021010551zOPf

    延伸閱讀

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

    TAG: eclipse Eclipse 單元


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