- 浏览: 7642 次
文章分类
最新评论
测试结构如下:
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 728关于MySQL 数据库性能对比试验demo的计划 第一部分 1 ... -
socket测试脚本
2014-07-13 16:14 0socket测试脚本 -
zenoss操作
2014-06-03 16:27 0zenoss的相关小结 -
httpclient demo 登陆
2014-05-08 23:47 562使用httpclient完成简单web登陆demo i ... -
VisualVM 使用实例
2014-04-30 14:42 1890VisualVM概述 VisualVM 是一款免费的 ... -
Selenium实例 Demo
2014-04-30 13:52 1109结构: 1 定义Page类 2 定义DriverManager ... -
DBUnit实例 SC测试总结(一)--数据库测试Demo
2014-04-01 13:57 731做数据库测试时,一般使用jmeterJDBC或者直连数据库执行 ... -
MongoDB操作
2014-03-24 21:03 410import java.io.IOException; ... -
testNG实例
2014-03-24 20:46 680import static org.hamcrest.Ma ... -
se chorme驱动 (转载)
2014-03-24 11:03 490import java.io.File; import ja ...
相关推荐
在给定的压缩包文件中,我们有两个版本的DBUnit源码:`dbunit-2.0-src` 和 `dbunit-2.1-src`。这些源码对于理解DBUnit的工作原理、进行自定义开发或调试是非常有价值的。 DBUnit 主要关注的是数据驱动测试,它允许...
5. 集成其他测试框架:DbUnit 可以与JUnit、TestNG等主流的Java测试框架结合使用,为数据库测试带来便利。 在 `dbunit-2.2.3-prj.rar` 这个压缩包中,可能包含以下内容: - `www.pudn.com.txt`:这可能是一个说明...
在使用 DbUnit 进行数据库测试时,首先需要准备测试环境。在这个例子中,我们创建了一个名为 "student" 的测试数据库,该数据库是在 MySql 中建立的。接着,在一个名为 "DBUnitSample" 的 Java 工程中,导入了 ...
DBUnit 是一个强大的Java库,专门用于数据库的单元测试。它与JUnit和其他测试框架结合使用,可以帮助开发者在数据库层面上确保代码的正确性。DBUnit 提供了一种结构化的方式来导入和导出数据库数据,使得测试环境...
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 是一个开源的 Java 库,专门用于数据库测试,它是 xUnit 测试框架的一部分,提供了数据驱动测试的解决方案。在版本 2.4.9 中,DBUnit 提供了一系列的功能,帮助开发者在进行单元测试时能够管理和操作数据库的...
DBUnit测试是一个很好的例子,可以了解它是如何工作的-它会填充内存中的HSQL数据库,然后使用Lucene查询其中的数据。 该示例很简单,但是说明了如何连接基础结构以集成Lucene和JPA的基本概念。
DbUnit 是一个专门用于数据库测试的Java库,它扩展了JUnit框架,使得对数据库依赖的代码进行单元测试变得更加便捷和可控。在进行数据库测试时,DbUnit 能够帮助我们管理和控制测试数据库的状态,确保每次测试都能在...
标题“dbunit测试demo”表明这是一个关于如何使用 DBUnit 进行测试的实例。描述中提到的链接指向了一篇博客文章,这可能包含了一个具体的 DBUnit 测试用例的详细步骤和解释。尽管我们无法直接访问该链接,但我们可以...
描述中的博文链接虽然没有具体内容,但通常会包含详细的步骤或示例代码,说明如何在Spring项目中设置和使用DBUnit进行数据库测试。 以下是基于给定的文件名可能涵盖的知识点: 1. **DBUnitDataLoaderImpl.java**:...
DBUNIT 是一个开源的 Java 库,专门用于数据库测试,它提供了一种结构化的方法来设置和验证数据库的状态。在软件开发中,测试是保证代码质量和功能正确性的重要环节,而 DBUNIT 尤其适用于对数据库操作进行测试,...
用于数据库测试的一个工具,具有很强的灵活性。也是自己在网上找的,分享一下
DbUnit2.4.9,包括dbunit-2.4.9.jar、dbunit-2.4.9-sources.jar、dbunit-2.4.9-javadoc.jar,是junit的扩展,主要用于代码对数据库操作的单元测试。
Dbunit-2.4.7.jar 文件是Dbunit的核心库,包含了所有必要的类和方法,用于在Java项目中直接使用Dbunit的功能。开发者可以将这个JAR文件添加到项目的类路径中,以便调用Dbunit的API。 LICENSE.txt 文件通常包含软件...
在使用 DBUnit 进行测试时,首先需要引入 dbunit-2.4.7.jar 和其他必要的依赖库,如 JDBC 驱动。接下来,创建一个 `IDatabaseConnection` 实例,该实例代表与数据库的连接。然后,可以使用 `DatabaseConfig` 来配置 ...
在软件开发中,Spring框架是Java企业级应用的主流选择,而DBUnit则是一个用于数据库测试的工具。本文将深入探讨如何将Spring与DBUnit整合,以实现高效、可靠的数据库集成测试。 首先,理解Spring的核心功能是至关...