您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
JUnit4概述(一)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/12/9 10:30:24 ] 推薦標(biāo)簽:

JUnit4是JUnit框架有史以來(lái)的大改進(jìn),其主要目標(biāo)便是利用Java5的Annotation特性簡(jiǎn)化測(cè)試用例的編寫(xiě)。

先簡(jiǎn)單解釋一下什么是Annotation,這個(gè)單詞一般是翻譯成元數(shù)據(jù)。元數(shù)據(jù)是什么?元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù)。也是說(shuō),這個(gè)東西在Java里面可以用來(lái)和public、static等關(guān)鍵字一樣來(lái)修飾類(lèi)名、方法名、變量名。修飾的作用描述這個(gè)數(shù)據(jù)是做什么用的,差不多和public描述這個(gè)數(shù)據(jù)是公有的一樣。想具體了解可以看Core    Java2。廢話(huà)不多說(shuō)了,直接進(jìn)入正題。

我們先看一下在JUnit 3中我們是怎樣寫(xiě)一個(gè)單元測(cè)試的。比如下面一個(gè)類(lèi):
public class AddOperation {
      public int add(int x,int y){
          return x+y;
      }
}

我們要測(cè)試add這個(gè)方法,我們寫(xiě)單元測(cè)試得這么寫(xiě):
import junit.framework.TestCase;
import static org.junit.Assert.*;
public class AddOperationTest extends TestCase{

      public void setUp() throws Exception {
      }

      public void tearDown() throws Exception {
      }

      public void testAdd() {
          System.out.println("add");
          int x = 0;
          int y = 0;
          AddOperation instance = new AddOperation();
          int expResult = 0;
          int result = instance.add(x, y);
          assertEquals(expResult, result);
      }
}

可以看到上面的類(lèi)使用了JDK5中的靜態(tài)導(dǎo)入,這個(gè)相對(duì)來(lái)說(shuō)很簡(jiǎn)單,只要在import關(guān)鍵字后面加上static關(guān)鍵字,可以把后面的類(lèi)的static的變量和方法導(dǎo)入到這個(gè)類(lèi)中,調(diào)用的時(shí)候和調(diào)用自己的方法沒(méi)有任何區(qū)別。


我們可以看到上面那個(gè)單元測(cè)試有一些比較霸道的地方,表現(xiàn)在:
1.單元測(cè)試類(lèi)必須繼承自TestCase。
2.要測(cè)試的方法必須以test開(kāi)頭。

如果上面那個(gè)單元測(cè)試在JUnit 4中寫(xiě)不會(huì)這么復(fù)雜。代碼如下:
import junit.framework.TestCase;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;

/**
*
* @author bean
*/
public class AddOperationTest extends TestCase{
  
      public AddOperationTest() {
      }

      @Before
      public void setUp() throws Exception {
      }

      @After
      public void tearDown() throws Exception {
      }

      @Test
      public void add() {
          System.out.println("add");
          int x = 0;
          int y = 0;
          AddOperation instance = new AddOperation();
          int expResult = 0;
          int result = instance.add(x, y);
          assertEquals(expResult, result);
      }
  
}

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