天天看點

單元測試覆寫工具coverlipse

  我的工作經常會遇到這樣的問題,統計自動化覆寫率,以前做windows的程式可以用ibm的Codecover來實作這種功能,但是對于網際網路應用伺服器端代碼覆寫率的統計一直沒有找到好的方法,前陣子聽說了coerlipse,今天就預研了一下,雖然沒有達到我的目的(無法實作對遠端伺服器端代碼覆寫率的統計,隻能完成本地做單元測試的覆寫率統計)。但是還是把學習過程記錄一下,說不定以後有用哦。

       手工安裝的方法,自然和其他安裝插件方法一樣,完成如下三步:

一,解壓插件包,關閉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:通過這個頁簽可以知道被測類的測試覆寫率。如下圖

小記:雖然coverlipse不能解決我的問題,但是對于自己知識點也是個補充,反正藝多不壓身,還可以總結分享給更多的人,我覺得至少比浪費時間在家看電視來得強。需要說明的是coverlipse好像把測試類的代碼覆寫都算進去了,好像是個小小的bug。

本文轉自elbertchen 51CTO部落格,原文連結:http://blog.51cto.com/linkyou/282655,如需轉載請自行聯系原作者

繼續閱讀