您的位置:软件测试 > 开源软件测试 > 开源单元测试工具 > DBunit
selenium与dbunit结合进行与数据库相关的测试
作者:网络转载 发布时间:[ 2013/12/23 11:58:37 ] 推荐标签:

1.dbunit原理:
Dbunit其原理,是在每个测试方法之前后,通过增删一些固定的记录,保持了数据库的固定状态,由此,我们可以在每个测试方法中自由地增删记录,而不用担心会影响到别的测试方法。DBUnit的设计理念是在测试之前,备份数据库,然后给对象数据库植入我们需要的准备数据,后,在测试完毕后,读入备份数据库,回溯到测试前的状态。
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结合进行与数据库相关的测试,主要实现过程包括创建与数据库操作相关的测试脚本,创建测试用例的测试脚本和创建测试数据。
创建与数据库操作相关的测试脚本过程如下:
(1)用来取得dbunit用的数据库连接。
(2)用来在运行测试脚本前,设置数据库的初始数据。
(3)用来在测试用例运行后,设置数据库的测试后的数据。
(4)用来在断言测试用例执行后,断言测试实际数据和测试预期数据,一般判断测试用例的测试正确性。
   /**
     *取得DbUnit用的数据库连接数据库连接
     */
    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");
    }
    /**
     *测试前设置数据库状态以及装载初始数据
     */
    public void dbActionBeforeTest(String fileName) throws Exception {
        dataSet = new FlatXmlDataSet(new FileInputStream(this.setFilePath(fileName)));
     //清空数据库表,然后装载初始数据到数据库表中
        DatabaseOperation.CLEAN_INSERT.execute(this.getConnection(), dataSet);
    }
    /**
     *测试后设置数据库状态
     */
    public void dbActionAfterTest() throws Exception {
     //删除表中的所有数据
        DatabaseOperation.DELETE_ALL.execute(this.getConnection(), dataSet);
    }
    /**
     *断言测试实际数据和测试期望数据
     */

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd