您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit及其相關的單元測試技術
作者:網絡轉載 發(fā)布時間:[ 2013/8/2 10:40:17 ] 推薦標簽:

  在實際的工作中,很多項目都沒有寫單元測試用例。寫單元測試用例常常是程序員十分厭倦的一個項目活動,很多人覺得沒有必要、浪費時間。所有這些都是因為沒有認識到測試的重要性:測試能夠使我們盡量早的發(fā)現(xiàn)程序的bug,一個bug被隱藏的時間越長,修復這個bug的代價越大。在《快速軟件開發(fā)》一書中已引用了大量的研究數(shù)據指出:后才修改一個bug的代價是在bug產生時修改它的代價的10倍。在現(xiàn)代軟件開發(fā)過程中,不管是xp還是rup都是十分重視單元測試,已經把單元測試作為貫穿整個開發(fā)周期的一項重要的開發(fā)活動。單元測試如此重要,那么怎樣寫好單元測試用例呢?這需要了解Junit及其相關的測試工具了。

  1. Junit簡介:

  1.1 內容摘要

  Junit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regressiontestingframework),供Java開發(fā)人員編寫單元測試之用。Junit測試是程序員測試,即所謂白盒測試。下面我們以一個簡單的例子來介紹如何使用Junit4同Junit3編寫測試用例:

  先寫個簡單的被測試類:

  public Class XXXX{

  public String hello(){

  return hello;

  }

  }

  對于這個類的用junit3編寫測試用例:

  import junit.framework.TestCase;

  public Class XXXXTest extends TestCase{

  public void testHello(){

  asssertEqual(new XXXX().Hello(),hello);

  }

  }

  用junit4編寫測試用例:

  import static org.junit.framework.assertEqual;

  import org.junit.Test;

  public Class XXXXTest{

  @Test

  public void helloTest(){

  asssertEqual(new XXXX().Hello(),hello);

  }

  }

  從上面例子我們對Junit3和Junit4有了一個初步的印象,下面我們重點介紹Junit4與Junit3的主要區(qū)別。

  1.2 Junit4與Junit3的主要區(qū)別

  1.2.1 Junit4引入了java 5.0的注釋技術:

  這兩個版本大的區(qū)別在JUnit3.x中測試必須繼承TestCase,并且每個方法名必須以test開頭。比如:testMethod1()而在JUnit4.x中不必繼承TestCase,采用了注解的方式。只要在測試的方法上加上注解@Test即可,從而不必再遵循以前的一些顯式約定和反射定位測試;在JUnit4.x中如果繼承了TestCase,注解不起作用了。并且有很重要的一點是在JUnit4.x中繼承了TestCase后,在OutLine視圖中測試單個方法時,結果整個類都run了。還有一點是,在3.x中需要實現(xiàn)setUp和tearDown方法,而在4.x中無需這樣,可以自定義需要在測試前和測試后的方法,在方法前加上@before,@after可以了。所以在JUnit4.x不必繼承TestCase用注解即可對單個方法進行測試。

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