JUnit 数据库单元测试 《五》

JUnit,DBUnit 数据库测试

注:这个要提前说一下调用程序中方法测试数据库的时候会出现的问题,测试数据库增删查改,插入数据和更改数据的时候,需要注意到不能存在数据残留。或者造成数据库的破坏,影响数据库的真实数据或实验数据。

解决办法:1、可以创建数据库副本(JUnit只是验证数据库操作代码是否正确)

2、使用DBUnit也是可以解决这个问题的,DBUnit在是使用的DBUnit时候会备份数据库,等测试之后会还原数据库,不会破坏数据。

1、DBUnit数据备份

例:

//备份数据

@Before

public void backupTable(){

//把数据库cnnection进行包装

IDatabaseConnection iDatabaseConnection=new DatabaseConnection(数据库connection连接对象)

//把connection连接上的数据库里面的所有表格形成的IDataSet数据对象

IDataSet data=iDatabaseConnection.createDataSet();

//第一种备份方式,把DataSet数据备份成XML数据结构(多种被封方式)

FlatXmlDataSet.write(data,new FileOutputstream(存储的文件名称);

//第二种备份方式,同第一种相比数据结构不一样

XmlDataSet.write(data,new FileOutputstream(存储的文件名称);

}

//执行数据库增删查改测试

@Test

public void inertData(){

//增删查改测试及验证

}

//还原数据

@After

public void resumeTableData(){

//把数据库cnnection进行包装

IDatabaseConnection iDatabaseConnection=new DatabaseConnection(数据库connection连接对象)

//第一种读取方式

IDataSet data = new FlatXmlDataSet(new FileOutputstream(存储的文件名称));

//第二种读取方式

IDataSet data = new XmlDataSet(new FileOutputstream(存储的文件名称);

//还原数据到数据库

DatabaseOperation.CLEAN_INSTA.execute(iDatabaseConnection,data);

}

这样通过备份还原的方法就可以不影响数据库的数据了,就可以痛痛快快的进行测试了,

经验分享 程序员 微信小程序 职场和发展