• <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-25 16:34 | 作者: 不詳 | 來源: 測試時代編輯整理 | 查看: 150次 | 進入軟件測試論壇討論

    領測軟件測試網


     private Collaborator collaborator;
     
     public void setUp(){
      serviceClass = new ServiceClass();
      Object[] objectArray = new Object[]{"exampleString", 5};
                    collaborator =
                    (Collaborator)intercept(Collaborator.class, objectArray, "mockCollaborator");
     }
     
     public void testRunServiceAndReturnFalse(){
      collaborator.executeJob();
      modify().returnValue("failure");
      startVerification();
      boolean result = serviceClass.runService(collaborator);
      assertFalse(result);
     }
    }
     


    首先,需要注意測試的期望仍未改變。RMockTestCase 類的導入預示著引入 RMock 框架功能。接下來,測試類現在將擴展 RMockTestCase,而不是 MockObjectTestCase。稍后,我將向您展示在 TestClass 對象仍為 RMockTestCase 類型的對象的測試用例中重新引入 MockObjectTestCase。

     使用 intercept() 方法的備選方法

    通過 RMock,您可以使用 intercept() 方法僅模擬具體類?梢允褂 RMock mock() 方法模擬具體類和接口。僅當需要模擬那幾個重要方法時,使用 interface() 方法。此方法被視為經過改進的 mock() 方法。
     
     
    在 setUp() 方法內,用 Collaborator 類的構造方法所需的實際 值實例化對象數組。該數組被立刻傳遞給 RMock 的 intercept() 方法來幫助實例化模擬對象。方法的簽名類似于 jMock CGLIB mock() 方法的簽名,因為這兩種方法將接納惟一模擬對象標識符作為參數。模擬對象到 Collaborator 類型的類強制轉換十分有必要,因為 intercept() 方法將返回類型 Object。

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

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

    測試更改

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


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

    使用 RMock 的場景 3 測試成功

    文章來源于領測軟件測試網 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>