您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > DBunit
selenium與dbunit結(jié)合進行與數(shù)據(jù)庫相關(guān)的測試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/12/23 11:58:37 ] 推薦標簽:

1.dbunit原理:
Dbunit其原理,是在每個測試方法之前后,通過增刪一些固定的記錄,保持了數(shù)據(jù)庫的固定狀態(tài),由此,我們可以在每個測試方法中自由地增刪記錄,而不用擔(dān)心會影響到別的測試方法。DBUnit的設(shè)計理念是在測試之前,備份數(shù)據(jù)庫,然后給對象數(shù)據(jù)庫植入我們需要的準備數(shù)據(jù),后,在測試完畢后,讀入備份數(shù)據(jù)庫,回溯到測試前的狀態(tài)。
2. POM文件中加入如下一段配置:
      <dependency>
         <groupId>org.dbunit</groupId>
         <artifactId>dbunit</artifactId>
         <version>2.4.3</version>
         <scope>test</scope>
      </dependency>
     <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.4.3</version>
   </dependency>
   <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc14</artifactId>
        <version>10.2.0.3.0</version>
   </dependency>

3.selenium與dbunit結(jié)合進行與數(shù)據(jù)庫相關(guān)的測試,主要實現(xiàn)過程包括創(chuàng)建與數(shù)據(jù)庫操作相關(guān)的測試腳本,創(chuàng)建測試用例的測試腳本和創(chuàng)建測試數(shù)據(jù)。
創(chuàng)建與數(shù)據(jù)庫操作相關(guān)的測試腳本過程如下:
(1)用來取得dbunit用的數(shù)據(jù)庫連接。
(2)用來在運行測試腳本前,設(shè)置數(shù)據(jù)庫的初始數(shù)據(jù)。
(3)用來在測試用例運行后,設(shè)置數(shù)據(jù)庫的測試后的數(shù)據(jù)。
(4)用來在斷言測試用例執(zhí)行后,斷言測試實際數(shù)據(jù)和測試預(yù)期數(shù)據(jù),一般判斷測試用例的測試正確性。
   /**
     *取得DbUnit用的數(shù)據(jù)庫連接數(shù)據(jù)庫連接
     */
    public IDatabaseConnection getConnection() throws Exception {
        Class driverClass = Class.forName("oracle.jdbc.driver.OracleDriver");
        Connection jdbcConnection = DriverManager.getConnection("jdbcracle:thin192.168.71.52:1521:JRESSTUDIO",
                "jrestester", "jrestester");
        return new DatabaseConnection(jdbcConnection,"JRESTESTER");
    }
    /**
     *測試前設(shè)置數(shù)據(jù)庫狀態(tài)以及裝載初始數(shù)據(jù)
     */
    public void dbActionBeforeTest(String fileName) throws Exception {
        dataSet = new FlatXmlDataSet(new FileInputStream(this.setFilePath(fileName)));
     //清空數(shù)據(jù)庫表,然后裝載初始數(shù)據(jù)到數(shù)據(jù)庫表中
        DatabaseOperation.CLEAN_INSERT.execute(this.getConnection(), dataSet);
    }
    /**
     *測試后設(shè)置數(shù)據(jù)庫狀態(tài)
     */
    public void dbActionAfterTest() throws Exception {
     //刪除表中的所有數(shù)據(jù)
        DatabaseOperation.DELETE_ALL.execute(this.getConnection(), dataSet);
    }
    /**
     *斷言測試實際數(shù)據(jù)和測試期望數(shù)據(jù)
     */

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