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

  清單 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. 運行測試,因為 Feed4Junit 是 JUnit 的擴展,所以運行方式與 JUnit 完全相同,即以 JUnit 運行即可,運行結果如圖 4 所示,我們可以看到,Data.xls 中的數(shù)據(jù)已全部傳入測試方法并運行。

  圖 4. 運行結果示例

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

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

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

  id: 一個用于標識數(shù)據(jù)庫數(shù)據(jù)源標識符,在測試方法的 @Source 中進行引用關聯(lián)

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

  driver: 數(shù)據(jù)庫的驅動

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

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

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

  id: @Source 中的 id 和 @Database 的 id 相對應關聯(lián)

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

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

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