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

1.dbunit原理:
Dbunit其原理,是在每個(gè)測(cè)試方法之前后,通過增刪一些固定的記錄,保持了數(shù)據(jù)庫(kù)的固定狀態(tài),由此,我們可以在每個(gè)測(cè)試方法中自由地增刪記錄,而不用擔(dān)心會(huì)影響到別的測(cè)試方法。DBUnit的設(shè)計(jì)理念是在測(cè)試之前,備份數(shù)據(jù)庫(kù),然后給對(duì)象數(shù)據(jù)庫(kù)植入我們需要的準(zhǔn)備數(shù)據(jù),后,在測(cè)試完畢后,讀入備份數(shù)據(jù)庫(kù),回溯到測(cè)試前的狀態(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é)合進(jìn)行與數(shù)據(jù)庫(kù)相關(guān)的測(cè)試,主要實(shí)現(xiàn)過程包括創(chuàng)建與數(shù)據(jù)庫(kù)操作相關(guān)的測(cè)試腳本,創(chuàng)建測(cè)試用例的測(cè)試腳本和創(chuàng)建測(cè)試數(shù)據(jù)。
創(chuàng)建與數(shù)據(jù)庫(kù)操作相關(guān)的測(cè)試腳本過程如下:
(1)用來取得dbunit用的數(shù)據(jù)庫(kù)連接。
(2)用來在運(yùn)行測(cè)試腳本前,設(shè)置數(shù)據(jù)庫(kù)的初始數(shù)據(jù)。
(3)用來在測(cè)試用例運(yùn)行后,設(shè)置數(shù)據(jù)庫(kù)的測(cè)試后的數(shù)據(jù)。
(4)用來在斷言測(cè)試用例執(zhí)行后,斷言測(cè)試實(shí)際數(shù)據(jù)和測(cè)試預(yù)期數(shù)據(jù),一般判斷測(cè)試用例的測(cè)試正確性。
   /**
     *取得DbUnit用的數(shù)據(jù)庫(kù)連接數(shù)據(jù)庫(kù)連接
     */
    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");
    }
    /**
     *測(cè)試前設(shè)置數(shù)據(jù)庫(kù)狀態(tài)以及裝載初始數(shù)據(jù)
     */
    public void dbActionBeforeTest(String fileName) throws Exception {
        dataSet = new FlatXmlDataSet(new FileInputStream(this.setFilePath(fileName)));
     //清空數(shù)據(jù)庫(kù)表,然后裝載初始數(shù)據(jù)到數(shù)據(jù)庫(kù)表中
        DatabaseOperation.CLEAN_INSERT.execute(this.getConnection(), dataSet);
    }
    /**
     *測(cè)試后設(shè)置數(shù)據(jù)庫(kù)狀態(tài)
     */
    public void dbActionAfterTest() throws Exception {
     //刪除表中的所有數(shù)據(jù)
        DatabaseOperation.DELETE_ALL.execute(this.getConnection(), dataSet);
    }
    /**
     *斷言測(cè)試實(shí)際數(shù)據(jù)和測(cè)試期望數(shù)據(jù)
     */

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