您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > junit
開源單元測(cè)試工具JUnit簡單了解
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/3/14 15:11:22 ] 推薦標(biāo)簽:

  一、簡介

  JUnit是一個(gè)開源的java單元測(cè)試框架。在1997年,由 Erich Gamma 和 Kent Beck 開發(fā)完成。這兩個(gè)牛人中 Erich Gamma 是 GOF 之一;Kent Beck 則在 XP 中有重要的貢獻(xiàn)(你覺得眼熟一點(diǎn)都不希奇)。
  正如常言道:“麻雀雖小,五臟俱全。” JUnit設(shè)計(jì)的非常小巧,但是功能卻非常強(qiáng)大。
  下面是JUnit一些特性的總結(jié):
  1) 提供的API可以讓你寫出測(cè)試結(jié)果明確的可重用單元測(cè)試用例
  2) 提供了三種方式來顯示你的測(cè)試結(jié)果,而且還可以擴(kuò)展
  3) 提供了單元測(cè)試用例成批運(yùn)行的功能
  4) 超輕量級(jí)而且使用簡單,沒有商業(yè)性的欺騙和無用的向?qū)?br />   5) 整個(gè)框架設(shè)計(jì)良好,易擴(kuò)展
  對(duì)不同性質(zhì)的被測(cè)對(duì)象,如Class,jsp,Servlet,Ejb等,Junit有不同的使用技巧。由于本文的性質(zhì),以下僅以Class測(cè)試為例。

  二、下載

  點(diǎn)擊http://www.junit.org可以下載到新版本的JUnit,本文使用的為3.8.1版。至于安裝或者配置之類,你只需要輕松的將下載下來的壓縮包中的jar文件,放到你工程的classpath中可以了。
  這樣,你的系統(tǒng)中可以使用JUnit編寫單元測(cè)試代碼了(是不是很簡單)!

  三、HelloWorld

  記得在幾乎每本語言教學(xué)書上都能找到HelloWorld這個(gè)入門代碼。在這里,我們也從一個(gè)簡單到根本不用單元測(cè)試的例子入手。這是一個(gè)只會(huì)做兩數(shù)加減的超級(jí)簡單的計(jì)算器(小學(xué)一年級(jí)必備)。代碼如下:

  public class SampleCalculator
  {
   public int add(int augend , int addend)
   {
   return augend + addend ;
   }

   public int suBTration(int minuend , int subtrahend)

   {

   return minuend - subtrahend ;

   }

  }

  將上面的代碼編譯通過。下面是我為上面程序?qū)懙囊粋(gè)單元測(cè)試用例:

  //請(qǐng)注重這個(gè)程序里面類名和方法名的特征
  import junit.framework.TestCase;
  public class TestSample extends TestCase

  {

   public void testAdd()

   {

  SampleCalculator calculator = new SampleCalculator();

   int result = calculator.add(50 , 20);

   assertEquals(70 , result);

   }

   public void testSubtration()

   {

   SampleCalculator calculator = new SampleCalculator();

   int result = calculator.subtration(50 , 20);

   assertEquals(30 , result);

   }

  }

  好了,在DOS命令行里面輸入javac TestSample.java 將測(cè)試類編譯通過。然后再輸入 java junit.swingui.TestRunner TestSample 運(yùn)行測(cè)試類,你會(huì)看到如下的窗口。

  綠色說明單元測(cè)試通過,沒有錯(cuò)誤產(chǎn)生;假如是紅色的,則是說測(cè)試失敗了。這樣一個(gè)簡單的單元測(cè)試完成了.

  按照框架規(guī)定:編寫的所有測(cè)試類,必須繼續(xù)自junit.framework.TestCase類;里面的測(cè)試方法,命名應(yīng)該以Test開頭,必須是public void 而且不能有參數(shù);而且為了測(cè)試查錯(cuò)方便,盡量一個(gè)TestXXX方法對(duì)一個(gè)功能單一的方法進(jìn)行測(cè)試;使用assertEquals等junit.framework.TestCase中的斷言方法來判定測(cè)試結(jié)果正確與否。

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd