DBUnit的使用之數據庫數據導出
来源:互联网 发布:杰克棋牌透视软件 编辑:程序博客网 时间:2024/05/01 04:17
笔者在本空间中《DBUnit的原理》提到DBUnit的原理,其第一步的任務是把數據庫裏的數據以XML的格式導出來;本來XML就是可以當數據庫使用的,相當於,將數據庫中設計好的測試數據先導出至XML數據庫暫存起來,以備在單元測試用例運行前將數據庫恢復至設計好的測試數據狀態。
本篇志在講述將設計好的測試數據導出的兩種方式。
一 腳本式導出
將下面這段代碼置於ANT腳本的某一任務腳本中:
<dbunitdriver="com.vendor.jdbc.Driver" url="jdbc:vendor:mydatabase" userid="user" password="password">
<export dest="export.xml"/>
</dbunit>
執行該項任務後就會將數據庫的當前全部數據導出至export.xml文件中。
二 編程式導出
此項方式是通過編碼的方式將當前數據庫的數據導出至XML文件。本文將以PostgreSQL數據庫舉例。
1. 獲取當前數據庫連接
既然是要將當前數據庫的數據庫導出,第一步當然是獲取當前數據庫的Connection对象:
Connection conn= DriverManager.getConnection(“jdbc:postgresql://localhost:5432/databasename”,“username”,“pwd”);
2. 获取DataBaseConnection对象
//该对象是DBUnit对Connection对象的封装。
3.配置DBUnit的DatabaseConfig
DatabaseConfig config= connection.getConfig(); config.setProperty(config.PROPERTY_DATATYPE_FACTORY,new PostgresqlDataTypeFactory());
4. 獲取數據集對象
QueryDataSet queryDS = new QueryDataSet(connection);
5. 將數據表添加至數據集對象
queryDS.addTable(tableName1);
queryDS.addTable(tableName2);
...
6. 生成XML數據文件
FlatXmlDataSet.write(queryDS, new FileOutputStream(scriptName));
------------------------------------
兩種方式的比較:
第一種方式:
優點:比較簡便,一次即可導出庫中所有的數據。
缺點:不靈活,不能針對單個表或某些表導出數據
第二種方式:
優點:比較靈活,可以針對某個表、某些表或全部數據表導出其對應的XML文件。在大部分單元測試中,某一個測試類只針對一兩個表進行測試,這個時候如果執行每一個單元測試用例前就將數據的全部的表恢復至已知狀態,顯而易見,我們做了無用功。
缺點:不如腳本式導出簡便,要寫一個帶主函數的類針對某些表分別導出測試數據。
- DBUnit的使用之數據庫數據導出
- DBUnit的使用之單元測試類的配置
- DBUnit的使用
- DbUnit使用
- dbunit使用
- dbunit使用
- dbunit使用
- 使用DBUnit实现对数据库的测试
- spring-test-dbunit的配置和使用
- 使用DbUnit进行数据库操作的单元测试
- spring-test-dbunit的配置和使用
- DBUnit与Ant使用
- dbunit介绍及使用
- DbUnit使用入门
- dbunit使用小结
- 使用DBUnit做单元测试
- dbunit使用例子
- dbunit简介及使用
- HTTP服务器状态代码定义(Status Code Definitions)
- 社交网络数据挖掘
- 嵌入式linux路由zebra
- DBUnit的原理
- 完成端口Accept方式
- DBUnit的使用之數據庫數據導出
- MFC/VC++ 绘制正弦曲线
- 搭建报表平台(SharePoint&ReportingServices集成模式)
- js实现最短路经问题
- Android的引用jar包
- PYTHON字典常用函数
- 手势识别
- 没语法错误,可xml文件还总是 报Error in an XML file: aborting build.这错误
- 第12题 判断两个链表是否相交