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

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

  • <strong id="5koa6"></strong>
  • 自動測試工具AgitarOne 初體驗之-MockingBird的使用[1]

    發表于:2010-04-08來源:作者:點擊數: 標簽:工具AgitarOneMockingBirdagitarOneMockingbird
    自動測試工具AgitarOne 初體驗之-MockingBird的使用[1] 自動化測試工具 為了提高測試代碼的Coverage,僅僅靠AgitarOne來處理2K多行的方法,是肯本不夠的。我現在搞的那個方法覆蓋率才20%,不過比同事的 10%好多了。不過都是測試 異常的Test Case,一個正向的

      自動測試工具AgitarOne 初體驗之-MockingBird的使用[1]   自動化測試工具

      為了提高測試代碼的Coverage,僅僅靠AgitarOne來處理2K多行的方法,是肯本不夠的。我現在搞的那個方法覆蓋率才20%,不過比同事的 10%好多了。不過都是測試 異常的Test Case,一個正向的Test Case的沒有。只能硬著頭皮看人家生成的代碼來提高代碼Coverage,在AgitarOne生成代碼中,大量使用了MockingBird來 Mock對像,對于Mock對象我想大家都應該很清楚了吧。下面我將概要的介紹以下AgitarOne的MockingBird對象。

      MockingBird 最主要的也就是以下5個API:

      1.MockingBird.getProxyObject(), 該方法是創建一個Mock實例,比如我們想創建一個XXXHome 的mock 代碼如下:

      XXXHome xxxHome =(XXXHome)MockingBird.getProxyObject(XXXHome.class)

      2.Mockingbird.setReturnValue() 該方法指定一個方法返回特定的值。比如我們想調用getConnection 返回一個Mock 真是的Xmock對象, 代碼如下:

      Mockingbird.getReturnValue(getConnection(),Xmock);

      3.MockingBird.enterRecondingMode() 該方法就是使MockingBird進入錄制模式?,F在不好說清楚, 下面會有代碼解釋。

      4.MockingBird.enterTestMode() 該方法就是使MockingBird就如測試模式。

      5.MockingBird.setException 該方法使一個方法拋出異常。比如我們想如果調用getConnection 拋出SQLException,代碼如下:

      MockingBird.setException(getConnection,new SQLException("sql exception!"))

      下邊將表述如何使用。

      假如要測試以下方法,在這個方法中使用了第三方的代碼,比如是EJB或者是數據庫連接,那么我們在測試這個方法時難道好一定要有EJB容器或者真是的數據庫嗎?

      使用了MockingBird 就OK了!

      private int getValue(){

      thirdPart x = Global.getThirdPart();

      Connection connecton = x.getConnection();軟件測試

      return connection.getValue("test");

      }

      對于Global.getThirdPart() 我們可以Mock一個thirdPart 而不是實際的對象,同理 Connection也是。首先我們創建兩個Mock對象。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品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>