littleQ

          終于明白曾經(jīng)他們失落的目光,當(dāng)年的你們是否一樣;間有懈怠或有頹放,難知多久方能補(bǔ)上;今起,不再彷徨!

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            33 Posts :: 0 Stories :: 60 Comments :: 0 Trackbacks

          前段時(shí)間做的一個(gè)升級包到線上后出了個(gè)bug,原因是因?yàn)樽鰷y試的時(shí)候沒有完全覆蓋到。痛定思痛,決定使用Clover來提高代碼的單元測試覆蓋率。

          開發(fā)的IDE是使用的Eclipse3.4,這里主要說一下在Eclipse中如何使用Clover,也是剛使用不久,寫在這里和大家探討一下。

          http://www.cenqua.com/download.jspa下載Clover,還需要申請一個(gè)license,否則無法使用。我下載了30天試用版。

          下載后把Clover壓縮包里有兩個(gè)文件夾,features和plugins。我試著用links的方式安裝Clover,不幸的失敗了,不知道是不是我哪里配錯(cuò)了,只好直接把兩個(gè)文件夾解壓到ECLIPSE_HOME覆蓋。

          打開Eclipse,從Window->Show view->other,可以看到Clover的信息:

           

          還需要導(dǎo)入clover.license。從Preferences->Clover->License進(jìn)入:

          使用load,導(dǎo)入clover.license。到這里,Clover已經(jīng)安裝完成,開始進(jìn)入我們的單元測試。

           

          我新建了一個(gè)project,結(jié)構(gòu)如下:

           

          Sample.java和SampleTest.java內(nèi)容分別是:

          package com.lyoe.sample;

          public class Sample 
          {
              
          public Integer add(Integer a, Integer b) 
          {
                  
          if (a == null || b == null
          {
                      
          return null
          ;
                  }

                  Integer sum 
          = new Integer(a.intValue() + b.intValue());
                  
          return
           sum;
              }

          }


           

          package com.lyoe.sample;

          import
           com.lyoe.sample.Sample;
          import
           junit.framework.TestCase;

          public class SampleTest extends TestCase 
          {

              
          protected void setUp() throws Exception 
          {
                  
          super
          .setUp();
              }


              
          public void testAdd() {
                  Sample sample 
          = new
           Sample();
                  Integer a 
          = new Integer(1
          );
                  Integer b 
          = new Integer(2
          );
                  Integer c 
          =
           sample.add(a, b);
                  assertNotNull(c);
              }


              
          protected void tearDown() throws Exception {
                  
          super
          .tearDown();
              }


          }

           

           右擊JunitInAction工程,選擇Properties->Clover。上面有一個(gè)Enable Clover in this project,勾上,apply->OK.

           

          從Window->Show view->other進(jìn)入,找到Coverage Explorer,打開,看到Clover選項(xiàng)的相關(guān)信息:

          點(diǎn)擊紅框內(nèi)的按鈕,會彈出重新構(gòu)建工程的提示,點(diǎn)擊"是"即可。

           

          在Coverage Explorer界面下,我們會看到:



           

           

          右擊SampleTest.java,選擇Run as->JUnit Test,結(jié)果如下:



           

          可以看到Sample.java的覆蓋率為71.4%.

           

          Clover還可以生成三種測試報(bào)告:PDF/HTML/XML。按鈕可以在Coverage Explorer那排的選項(xiàng)按鈕里找到(run new report)。html的測試報(bào)告見附件。

           

          到這里,已經(jīng)算是能在Eclipse中使用Clover的基本功能了,以后慢慢探索,歡迎大家扔磚~

           

          posted on 2008-10-10 19:28 littleQ 閱讀(2103) 評論(1)  編輯  收藏

          Feedback

          # re: 單元測試覆蓋率-使用Clover 2008-10-11 13:19 Jack.Wang
          不錯(cuò),確實(shí)不錯(cuò),我也試用一下!  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航: