qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          單元測試覆蓋工具coverlipse

           我的工作經常會遇到這樣的問題,統計自動化覆蓋率,以前做windows的程序可以用ibm的Codecover來實現這種功能,但是對于互聯網應用服務器端代碼覆蓋率的統計一直沒有找到好的方法,前陣子聽說了coerlipse,今天就預研了一下,雖然沒有達到我的目的(無法實現對遠程服務器端代碼覆蓋率的統計,只能完成本地做單元測試的覆蓋率統計)。但是還是把學習過程記錄一下,說不定以后有用哦。
            首先,需要到http://coverlipse.sourceforge.net/download.php下載插件,該網站提供兩種方式,一種是通過eclipse更新插件地址去更新他的插件,一種是將插件先下載過來手工安裝。
            手工安裝的方法,自然和其他安裝插件方法一樣,完成如下三步:
            一,解壓插件包,關閉eclipse程序。
            二,將插件包中的plugin目錄下的文件拷貝到你eclipse安裝目錄下的plugin目錄下;把features下的xml文件拷貝到你elipse安裝路徑的features目錄下。
            三,啟動eclipse,點擊help->abaout Eclipse platform屬性頁,可以通過plugin-detail查看你的插件是否被安裝成功了。
            現在我們要做單元測試的簡單實驗了,當然我們首先要新建一個被測工程,一個被測類,一個測試類。在本例子中分別命名如下
            測試工程:Mytest。由于是單元測試工具通常測試工程和被測工程在同一個工程中。根據我對coverlipse的簡單研究,似乎也必須在同一個工程內。
            被測試類: helloworld
            被測代碼如下:
          01  package testp;
          02
          03  public class helloworld {
          04     public String SayHelloWorld(String a)
          05     {
          06         if (a !="")
          07         {
          08            return a + " helloworld";
          09         }
          10         else
          11         {
          12            return "please input username";
          13         }
          14     }
          15  }
            測試類:testhelloworld
            測試類代碼如下:
          1   public class testhelloworld extends TestCase {
          2      @Test
          3      public void testCase1() throws Exception
          4      {
          5          helloworld hw = new helloworld();
          6          String rs = hw.SayHelloWorld("elbert");
          7          org.junit.Assert.assertEquals("elbert helloworld", rs);
          8      }
          9   }
           我們可以通過兩種途徑來測試覆蓋率。一種最簡潔的方法,選中junit的測試類,右鍵點擊,選擇Run as->w/coverlipse,如下圖
            也可以通過在Run dialog上面的設置來設置測試類和被測試類。如下圖
            最后我們要查看代碼覆蓋率了,coverlipse通過兩個頁簽來顯示結果
            1.coverlipse marks view:通過這個頁簽會告訴測試者,被測類中哪些代碼行被測試,那些代碼行沒有被測試。由于例子中的被測類的第12行不會被執行,所以報告結果如下圖。
            2.coverlipse class view:通過這個頁簽可以知道被測類的測試覆蓋率。如下圖

          posted on 2014-03-28 11:15 順其自然EVO 閱讀(206) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年3月>
          2324252627281
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 威远县| 鹤岗市| 许昌市| 怀仁县| 西乌珠穆沁旗| 雅江县| 宁国市| 河间市| 马龙县| 富源县| 汉源县| 宁乡县| 黄龙县| 福清市| 光泽县| 聂拉木县| 双鸭山市| 思茅市| 阿拉尔市| 天峻县| 恩施市| 阳信县| 盐津县| 驻马店市| 沭阳县| 南昌县| 巴林右旗| 治多县| 兴文县| 天长市| 武强县| 古丈县| 高唐县| 铁力市| 浪卡子县| 大连市| 鹤峰县| 新乐市| 嘉善县| 台前县| 汉川市|