- 浏览: 7310 次
文章分类
最新评论
测试结构如下:
1 定义测试数据
2 将测试数据导入到数据库中
3 将预期结果和实际结果进行对比
目的:
测试selectAllDemo方法,检测查询结果是否有效
使用DBuint框架完成测试
返回测试用的数据库连接对象
protected abstract IDatabaseConnection getConnection() throws Exception;
返回测试用XML数据集对象
protected abstract IDataSet getDataSet() throws Exception;
部分参考csdn文章
1 定义测试数据
2 将测试数据导入到数据库中
3 将预期结果和实际结果进行对比
目的:
测试selectAllDemo方法,检测查询结果是否有效
使用DBuint框架完成测试
返回测试用的数据库连接对象
protected abstract IDatabaseConnection getConnection() throws Exception;
返回测试用XML数据集对象
protected abstract IDataSet getDataSet() throws Exception;
部分参考csdn文章
package baor.src.dbunit; import java.sql.ResultSet; import java.sql.SQLException; import baor.test.sql.ConnPropInfo; import baor.test.sql.ConnUtil; import java.sql.Statement; public interface CRUDDemo { public abstract ResultSet selectAllDemo(Statement stmt, String SQLString) throws SQLException; public abstract Statement setSTMT(ConnUtil connUtil, ConnPropInfo demo) throws SQLException; }
package baor.src.dbunit; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import baor.test.sql.ConnPropInfo; import baor.test.sql.ConnUtil; public class SelectAllDemo implements CRUDDemo { @Override public ResultSet selectAllDemo(Statement stmt, String SQLString) throws SQLException { // TODO Auto-generated method stub // 创建数据集对象 ResultSet rs = stmt.executeQuery(SQLString); // System.out.println("TestNo" + "\t" + "Description" + "\t" + // "Author"); return rs; } @Override public Statement setSTMT(ConnUtil connUtil, ConnPropInfo demo) throws SQLException { // TODO Auto-generated method stub // 创建stmt对象 Statement stmt = connUtil.getConnection(demo).createStatement(); return stmt; } }
package baor.test.sql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnUtil { Connection connection = null; public Connection getConnection(ConnPropInfo prop) { if (connection == null) { try { // 调用Class.forName()方法加载驱动程序 Class.forName(prop.getDriver()); System.out.println("成功加载MySQL驱动!"); connection = DriverManager.getConnection(prop.getUrl(), prop.getUser(), prop.getPwd()); System.out.print("成功连接到数据库!"); } catch (ClassNotFoundException e1) { System.out.println("找不到MySQL驱动!"); e1.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return connection; } public void closeConnection(Connection conn) { try { if (conn != null) { conn.close(); conn = null; System.out.println("连接关闭!!"); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package baor.src.dbunit; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.sql.Connection; import java.sql.SQLException; import org.dbunit.DatabaseUnitException; import org.dbunit.database.DatabaseConnection; import org.dbunit.database.IDatabaseConnection; import org.dbunit.database.QueryDataSet; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; public class DataUtil { public void simgleTableExport(Connection conn, String tableName, String xmlFile) { IDatabaseConnection connection = null; try { connection = new DatabaseConnection(conn); QueryDataSet dataSet = new QueryDataSet(connection); dataSet.addTable(tableName); FlatXmlDataSet.write(dataSet, new FileOutputStream(xmlFile)); } catch (DatabaseUnitException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void allTableExport(Connection conn, String fileName) { IDatabaseConnection connection = null; try { connection = new DatabaseConnection(conn); IDataSet dataSet = connection.createDataSet(); FlatXmlDataSet.write(dataSet, new FileOutputStream(fileName)); } catch (DatabaseUnitException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
package baor.src.dbunit; import java.io.FileInputStream; import java.io.InputStream; import java.sql.Connection; import java.sql.ResultSet; import org.dbunit.DatabaseTestCase; import org.dbunit.database.IDatabaseConnection; import org.dbunit.dataset.IDataSet; import org.dbunit.dataset.xml.FlatXmlDataSet; import org.dbunit.dataset.xml.FlatXmlProducer; import org.dbunit.ext.mysql.MySqlConnection; import org.dbunit.operation.DatabaseOperation; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.xml.sax.InputSource; import java.sql.Statement; import baor.test.sql.ConnPropInfo; import baor.test.sql.ConnUtil; import baor.test.sql.PropInfoFactory; import baor.test.sql.PropMySQLFactory; public class DemoTest extends DatabaseTestCase { Connection conn; ResultSet rs; Statement stmt; FlatXmlProducer fxp; SelectAllDemo testDemo; ConnPropInfo demo; ConnUtil testConnUtil; String sql = "select * from testdemo where TestNo = 1"; @Before public void setUp() throws Exception { // 数据库连接对象 PropInfoFactory test = new PropMySQLFactory(); demo = test.createPropInfo(); testConnUtil = new ConnUtil(); conn = testConnUtil.getConnection(demo); // xml文件对象 InputStream fis = new FileInputStream("C://testdemo1.xml"); InputSource is = new InputSource(fis); fxp = new FlatXmlProducer(is); } @After public void tearDown() throws Exception { testConnUtil.closeConnection(conn); } @Test public void testGet() throws Exception { testDemo = new SelectAllDemo(); stmt = testDemo.setSTMT(testConnUtil, demo); rs = testDemo.selectAllDemo(stmt, sql); while (rs.next()) { assertEquals(1, rs.getInt(1)); assertEquals("test", rs.getString(2)); assertEquals("paur", rs.getString(3)); } stmt.close(); rs.close(); } @Override protected IDatabaseConnection getConnection() throws Exception { // TODO Auto-generated method stub return new MySqlConnection(conn, "test"); } @Override protected IDataSet getDataSet() throws Exception { // TODO Auto-generated method stub return new FlatXmlDataSet(fxp); } /** * 在把xml里的数据导入到db里之前,需要对数据库里的表的数据做的操作。 */ protected DatabaseOperation getSetUpOperation() throws Exception { System.out.println("setup..."); return DatabaseOperation.CLEAN_INSERT; } /** * 测试执行完以后,需要对数据库里的表里的数据做的操作 */ protected DatabaseOperation getTearDownOperation() throws Exception { System.out.println("teardown..."); return DatabaseOperation.NONE; } }
发表评论
-
关于 MySQL数据库性能对比试验demo
2016-02-18 23:05 699关于MySQL 数据库性能对比试验demo的计划 第一部分 1 ... -
socket测试脚本
2014-07-13 16:14 0socket测试脚本 -
zenoss操作
2014-06-03 16:27 0zenoss的相关小结 -
httpclient demo 登陆
2014-05-08 23:47 526使用httpclient完成简单web登陆demo i ... -
VisualVM 使用实例
2014-04-30 14:42 1847VisualVM概述 VisualVM 是一款免费的 ... -
Selenium实例 Demo
2014-04-30 13:52 1078结构: 1 定义Page类 2 定义DriverManager ... -
DBUnit实例 SC测试总结(一)--数据库测试Demo
2014-04-01 13:57 696做数据库测试时,一般使用jmeterJDBC或者直连数据库执行 ... -
MongoDB操作
2014-03-24 21:03 379import java.io.IOException; ... -
testNG实例
2014-03-24 20:46 642import static org.hamcrest.Ma ... -
se chorme驱动 (转载)
2014-03-24 11:03 451import java.io.File; import ja ...
相关推荐
一个基于JUnit测试框架的关于数据库的测试框架,不错!
dbunit-2.2.3..jar dbunit-2.4.2.jar dbunit-2.5.3.jar dbunit-2.7.0.jar 发现每个版本对JDK是有要求的,比如2.7 只能用于JDK1.8版本,所以整理好几个jar包挑选适合自己的
dbunit-2.4.7 src 源码 dbunit-2.4.7 src 源码 dbunit-2.4.7 src 源码
DBUnit测试是一个很好的例子,可以了解它是如何工作的-它会填充内存中的HSQL数据库,然后使用Lucene查询其中的数据。 该示例很简单,但是说明了如何连接基础结构以集成Lucene和JPA的基本概念。
一个很好的DBUnit的例子 博文链接:https://virgoooos.iteye.com/blog/186859
用于数据库测试的一个工具,具有很强的灵活性。也是自己在网上找的,分享一下
1。利用MySql数据库建立一个测试的数据库student: 2.建立新的java工程,例如DBUnitSample, 将DbUnit jar文件和MySql数据库驱动文件导入到工程中: 3.编写连接MySql数据库的类以及用于测试的类
DbUnit2.4.9,包括dbunit-2.4.9.jar、dbunit-2.4.9-sources.jar、dbunit-2.4.9-javadoc.jar,是junit的扩展,主要用于代码对数据库操作的单元测试。
dbunit入门实例 dbunit入门实例 dbunit入门实例 dbunit入门实例
采用 Java 编写的数据库系统单元测试程序。
DbUnit是一款开源的数据库功能测试框架,使用它可以对数据库的基本操作进行白盒单元测试,对输入输出进行校验,从而保证数据的有效性。DbUnit使用XML文件提供测试数据,为测试人员增加了测试难度,降低了单元测试效率。...
使用DbUnit测试数据库.pdf
1. 测试环境的搭建(DBunit+HSQLDB) 1 1.1. DBunit的简介 1 1.1.1. DBunit简单介绍和原理 1 1.1.2. DBunit的三大核心组件 1 1.1.3. DBunit的安装使用 2 1.2. HSQLDB简介 3 1.2.2. 什么是HSQLDB 3 1.2.3. HSQLDB安装...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
官方版本,亲测可用
* This file is part of DbUnit. * * (c) Sebastian Bergmann * * For the full copyright and license information, please view the LICENSE * file that was ...
通过DBUNIT做批量对比测试