您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
基于JUnit使用Feed4JUnit實(shí)現(xiàn)數(shù)據(jù)與代碼分離
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/12 13:40:26 ] 推薦標(biāo)簽:

  清單 4. 文件數(shù)據(jù)源示例

package sample.test;

import static org.junit.Assert.assertEquals;

import org.databene.benerator.anno.Source;
import org.databene.feed4junit.Feeder;
import org.junit.Test;
import org.junit.runner.RunWith;

import sample.code.UserAccess;

/*
 * Feed4JUnit - Get Data from CSV/Excel File source
 */

@RunWith(Feeder.class)
public class F4JfromFile {
 
 @Test
 @Source("Data.csv")//CSV source
 public void testAccessCheck_CSV(String userName, String pw, boolean expected) {
  assertEquals(expected, UserAccess.accessCheck(userName, pw));
 }
 
 @Test
 @Source("Data.xls")//Excel source
 public void testAccessCheck_Excel(String userName, String pw, boolean expected) {
  assertEquals(expected, UserAccess.accessCheck(userName, pw));
 }
}

 

  3. 運(yùn)行測(cè)試,因?yàn)?Feed4Junit 是 JUnit 的擴(kuò)展,所以運(yùn)行方式與 JUnit 完全相同,即以 JUnit 運(yùn)行即可,運(yùn)行結(jié)果如圖 4 所示,我們可以看到,Data.xls 中的數(shù)據(jù)已全部傳入測(cè)試方法并運(yùn)行。

  圖 4. 運(yùn)行結(jié)果示例

  以數(shù)據(jù)庫(kù)作為數(shù)據(jù)源

  通過(guò)使用 @Database ,您可以很方便的使用來(lái)自于數(shù)據(jù)庫(kù)的數(shù)據(jù),這在進(jìn)行大量測(cè)試數(shù)據(jù)測(cè)試的時(shí)候或者復(fù)用現(xiàn)有的應(yīng)用業(yè)務(wù)數(shù)據(jù)作為測(cè)試數(shù)據(jù)的情況下比較有用。

  當(dāng)您使用來(lái)自數(shù)據(jù)庫(kù)的數(shù)據(jù)源的時(shí)候,首先必須使用 @Database 聲明數(shù)據(jù)庫(kù)的信息 ,可以為類或方法添加 @Database 注釋 , 如果注釋類為 @Database 的時(shí)候,類中所有的方法都可以使用此數(shù)據(jù)庫(kù)的數(shù)據(jù)作為源,當(dāng)聲明 @Database 于方法的時(shí)候,此類中僅此方法可以調(diào)用數(shù)據(jù)庫(kù)作為數(shù)據(jù)源。@ Database 具有一些屬性,用于聲明用于連接數(shù)據(jù)庫(kù)信息,請(qǐng)看一下說(shuō)明:

  id: 一個(gè)用于標(biāo)識(shí)數(shù)據(jù)庫(kù)數(shù)據(jù)源標(biāo)識(shí)符,在測(cè)試方法的 @Source 中進(jìn)行引用關(guān)聯(lián)

  url:數(shù)據(jù)庫(kù)的 URL

  driver: 數(shù)據(jù)庫(kù)的驅(qū)動(dòng)

  user: 數(shù)據(jù)庫(kù)的用戶名

  password:數(shù)據(jù)庫(kù)的密碼

  完成以上數(shù)據(jù)庫(kù)的定義后,需要在測(cè)試方法的 @Source 中引用您所需要的庫(kù),使用屬性 id 和 selector 可以完成此操作:

  id: @Source 中的 id 和 @Database 的 id 相對(duì)應(yīng)關(guān)聯(lián)

  selector:SQL 語(yǔ)句,用于查詢出相應(yīng)的數(shù)據(jù)傳遞給測(cè)試方法

  以下我們以 DB2 作為數(shù)據(jù)源,使用 DB2 的 Sample 數(shù)據(jù)庫(kù),并創(chuàng)建名為 TEST 的表來(lái)存儲(chǔ)測(cè)試數(shù)據(jù),測(cè)試數(shù)據(jù)與圖 3 Excel 數(shù)據(jù)源的完全相同,請(qǐng)看圖 5。

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