首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

关于SpringSide的DbUnit测试的考虑

2012-11-04 
关于SpringSide的DbUnit测试的思考关于SpringSide的DbUnit测试的思考------》springSide的DbUnitUtilssprin

关于SpringSide的DbUnit测试的思考
关于SpringSide的DbUnit测试的思考

------》springSide的DbUnitUtils



springSide的测试用的是 :

DbUnitUtils.loadData(dataSource, "/data/default-data.xml");// 加载xml数据前先清空涉及的表
DbUnitUtils.removeData(dataSourceHolder, "/data/default-data.xml");//删除xml涉及到的表的数据

如果是测试数据库,这么写可以,但如果要在应用数据库上测试(当然实际不太可能)应该用以下方式:

DbUnitUtils.appendData(dataSource, "/data/dbunit.xml"); //在原基础上增加数据
DbUnitUtils.removeDataFromXML(dataSourceHolder, "/data/dbunit.xml");//删除xml中涉及的数据

总结 :DbUnit结合spring测试框架,前者负责准备数据,后者进行测试控制。

------》附 DbUnit导出数据库到XML
package com.test.dbunit;import java.io.FileOutputStream;import java.sql.Connection;import java.sql.DriverManager;import org.dbunit.database.DatabaseConnection;import org.dbunit.database.IDatabaseConnection;import org.dbunit.database.QueryDataSet;import org.dbunit.dataset.xml.FlatXmlDataSet;public class TestApp {public static void main(String[] args) throws Exception{Class.forName("org.h2.Driver");Connection conn = DriverManager.getConnection("jdbc:h2:tcp://localhost/~/mySpringSide1", "sa", "");IDatabaseConnection connection = new DatabaseConnection(conn);QueryDataSet dataSet = new QueryDataSet(connection);//将整个COMMENTS表里的数据导出到 xml文件里dataSet.addTable("COMMENTS");//将ARTICLES表里符合条件的数据导出到xml文件里dataSet.addTable("ARTICLES","select * from ARTICLES where id < 4");//导出到dbunit.xml文件里FlatXmlDataSet.write(dataSet,new FileOutputStream("dbunit.xml"));}}




热点排行