• <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 進行單元測試

    發布: 2008-6-15 15:00 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 133次 | 進入軟件測試論壇討論

    領測軟件測試網

    在測試方法本身 testRunServiceAndReturnFalse() 之內,您可以看到更多更改。模擬 Collaborator 對象的 executeJob() 方法將被調用。在此階段,模擬對象處于記錄狀態 —— 即簡單地定義對象將一直期望的方法調用,因此,模擬將相應地記錄期望。下一行是對模擬對象的通知,用于確保當它遇到 executeJob() 方法時,它應當返回字符串 failure。因此,使用 RMock,您只需通過調用方法而不調用模擬對象(并傳遞它可能需要的任何參數)來描述期望,然后修改該期望以相應地調整任何返回類型。

    最后,調用 RMock 方法 startVerification() 把模擬 Collaborator 對象轉為就緒狀態。模擬對象現已準備好在 ServiceClass 類中作為實際對象使用。該方法非常重要并且必須調用它才能避免測試初始化失敗。

    測試更改

    再次重新運行 ServiceClassTest 以達到最終的肯定結果:在模擬對象實例化期間提供的參數造成了所有差別。圖 6 顯示 JUnit 測試已經通過。


    圖 6. 使用 RMock 的場景 3 測試成功
    使用 RMock 的場景 3 測試成功

    assertFalse(result) 代碼行表示與場景 1 相同的測試期望,而 RMock 像 jMock 以前那樣維持測試成功。在許多方面,這都十分重要,但是這里更重要的特點可能是實踐了修正失敗測試的靈活 原則而不更改測試期望。惟一的差別是使用了另一個框架。

    在下一個場景中,您將在一種特殊情況下使用 jMock 和 RMock。沒有一個框架能夠僅憑自身就實現正確結果,除非在測試內形成某種聯合。



    場景 4:jMock 和 RMock 之間的特定協作

    如前所述,我希望檢驗兩個框架必須協同工作才能實現某個結果的情況。否則,構建良好的測試每次都將失敗。在某些情況下,使用 jMock 還是 RMock 并不重要,例如,當需要模擬的接口或類存在于已經簽名的 JAR 中時。此類情況十分少見,但是當測試針對安全專有的產品(通常是這樣或那樣的一類現有軟件)中的應用程序編程接口 (API) 編寫代碼時可能會出現此情況。

    清單 10 顯示了兩個框架完成測試用例的示例。

    延伸閱讀

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


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>