1.首先导入dbunit.jar,spring-mock.jar(数据回滚),junit.jar三个jar包
2.通过dbunit.jar包中的DatabaseConnection类获取数据库的连接:
a.new DatabaseConnection(DriverManager.getConnection(url,user, password))通过jdbc建立与数据库的连接,其中url等参数可以通过properties文件获取.
b.new DatabaseConnection(DataSourceUtils.getConnection(dataSource))通过dataSource建立与数据库的连接,其中DataSourceUtils为org.springframework.jdbc.datasource.DataSourceUtils.
3.根据dataset-xx.xml数据配置文件创建IDataSet对象(可以根据多个dataset-xx.xml文件创建IDataSet对象
a. IDataSet dataSet = new FlatXmlDataSet(new ClassPathResource("com/taobao/dbunit/dao/user001.xml").getFile());
b. private IDataSet buildDataSet(String[] datafiles) throws IOException, DataSetException {
IDataSet[] dataSets = new FlatXmlDataSet[datafiles.length];
for (int i = 0; i < datafiles.length; i++)
dataSets[i] = new FlatXmlDataSet(getClass().getClassLoader().getResourceAsStream(datafiles[i]));
return new CompositeDataSet(dataSets, false);
}
4.通过org.dbunit.operation.DatabaseOperation对象的execute关键方法将IDataSet对象的数据插入,删除,更新到数据库.
DatabaseOperation operation = DatabaseOperation.CLEAN_INSERT;表示插入操作. DatabaseOperation.DELETE表示删除操作等.
operation.execute(DatabaseConnection,IDataSet);其中DatabaseConnection,IDataSet分别为第2,3部创建的对象.
5.测试类必须继承spring-mock.jar包下的AbstractDependencyInjectionSpringContextTests类对象,override类AbstractDependencyInjectionSpringContextTests
中的onSetUp()和onTearDown()方法,即运行该测试类前首先会调用onSetUp()方法将dataSet-xx.xml数据初始化到数据库,然后测试,最后会自动调用
onTearDown()来关闭数据库的连接。AbstractDependencyInjectionSpringContextTests封装了封装了载入Application Context和初始化Beans的功能,
因此可以直接用实际工作代码中使用的Application Context配置文件即:
protected String[] getConfigLocations() {
return new String[] {"com/comwave/tcb/webui/service/impl/springContext-branch.xml","MyApplicationContext.xml"};
}这样就可以将spring容器中的对象注入测试类中如:
protected IBranchManager branchManager;
public void setBranchManager(IBranchManager branchManager) {
this.branchManager = branchManager;
}
其中AUTOWIRE_BY_TYPE:按类型匹配的方式进行自动装配,这个默认的机制;
AUTOWIRE_BY_NAME:按名字匹配的方式进行自动装配
AUTOWIRE_NO:不使用自动装配机制,这意味着你需要手工调用getBean()进行装配。
缺省在用Setter设置Bean的时候,使用的是by type的机制
6.示例看附件,(示例为部分代码,不能运行)
分享到:
相关推荐
在数据库驱动的应用程序中,Dao层通常负责与数据库的交互,因此对Dao进行集成测试是非常必要的。 1. **配置Spring测试环境** 在Spring项目中,我们需要创建一个测试配置类,该类通常继承自`...
标题中的“spring+dbunit测试访问数据库代码”指的是在Java开发中使用Spring框架与DBUnit进行集成,以实现对数据库的测试。DBUnit是用于数据库单元测试的工具,它可以加载和验证数据库的数据状态,确保测试的隔离性...
本文将深入探讨Spring3中的单元测试和集成测试,并结合DBunit这一数据库测试工具进行说明。 首先,单元测试是针对软件的最小可测试单元进行验证,通常是一个方法。在Spring3中,我们可以使用JUnit作为基础测试框架...
总的来说,通过集成 DBUnit,Spring Boot 应用可以实现高效的数据库测试,确保在开发过程中数据操作的正确性。这有助于提高代码质量,减少因数据库问题导致的生产故障。在实际项目中,应根据项目需求和团队规范调整...
DbUnit是一个用于数据库集成测试的Java库,它可以将数据库状态设置为已知的初始状态,便于测试。在SSH项目中,可以在测试前导入XML格式的数据集到数据库,测试后清除这些数据,确保每次测试的环境一致。dbunit可以...
有2个测试类-一个使用JUnit和JMockit的简单单元测试,另一个使用DBUnit的测试。 DBUnit测试是一个很好的例子,可以了解它是如何工作的-它会填充内存中的HSQL数据库,然后使用Lucene查询其中的数据。 该示例很简单...
DBUnit是JUnit的一个扩展,专门用于数据库的集成测试,它允许开发者在测试之前填充数据库,执行测试后清理数据,确保每个测试用例都在一个已知的干净状态中运行。 首先,让我们深入了解DBUnit。DBUnit提供了数据...
2. Spring 集成:如果你的项目使用 Spring,可以利用 Spring's `DbUnitTestExecutionListener` 来自动管理 DBUnit 的生命周期。 3. Maven 插件:也有 Maven 插件可用来自动化 DBUnit 测试,例如 maven-dbunit-...
在本篇“Spring3学习笔记(2)-集成ibatis3进行单元测试”中,我们将深入探讨如何在Spring3框架中整合Ibatis3,并利用它来进行单元测试。这个主题对于理解如何在实际项目中实现数据访问层的测试具有重要意义。在现代...
快速入门示例Spring DBUnit提供了Spring测试框架和DBUnit项目之间的集成。 在这个例子中,我们展示了如何使用Hypersonic内存数据库测试Hibernate JPA项目。依存关系该项目将使用Apache Maven构建。 这是完整的POM...
DBUnit 是一个用于数据库测试的Java工具,它与JUnit结合使用,可以帮助开发者在软件开发过程中进行数据驱动的测试。在本文中,我们将深入探讨DBUnit测试规范及其在软件开发中的应用。 首先,按照DBUnit测试规范,...
10. **Spring TestDBUnit**:这是一个扩展,结合了Spring TestContext Framework和DBUnit,用于数据库相关的集成测试,它可以帮你设置和还原数据库到已知状态。 文件名称列表中的"springTest"可能指的是测试项目中...
使用 MockMvc、Mockito 和 DbUnit 进行单元和集成测试灵感Spring MVC 测试教程 - Spring MVC 中的异常处理 - 下一步如果您对测试生成 HTML 的控制器感兴趣,您可以查看 Spring MVC 测试教程( )并了解如何测试由...
rapid-validation 集成extremeTable列表分页组件,并简单扩展显示pageNumber 集成DBUnit及spring对数据库测试的支持 内置的分页查询PageInfo接口 Java日期转换的特殊处理,与My97DatePicker集成 内置最精简的ant构建...
16.7.3 使用Spring RestTemplate测试 16.7.4 使用Selenium测试 16.8 小结 第17章 实战案例开发 17.1 论坛案例概述 17.1.1 论坛整体功能结构 17.1.2 论坛用例描述 17.1.3 主要功能流程描述 17.2 系统设计 17.2.1 技术...
6. 测试:使用Spring的TestContext框架和DbUnit进行单元测试,确保业务逻辑和事务处理正确无误。 通过这种方式,我们可以构建出一个既利用了Hibernate的ORM能力,又具备Spring事务管理优势的持久层。这不仅简化了...
同时,测试时可以利用Spring的Mockito或DBUnit进行单元测试,确保持久层的正确性。 5. 测试驱动开发(TDD) 在文章中提到的示例中,使用了DbUnit进行测试驱动开发。TDD是一种软件开发方法,强调先写测试用例,再...
使用JUnit和Mockito进行单元测试,通过Spring Test和DBUnit进行集成测试,确保代码的质量和稳定性。 六、代码质量管理与重构 SpringSide 4 遵循良好的编码规范,如SOLID原则,以及代码重构的最佳实践。通过学习...
DbUnit(DbUnit集成)、unitils-easymock(EasyMock支持)、unitils-inject(对象注入)、unitils-mock(Mock对象简化)、unitils-orm(ORM支持,包括Hibernate和JPA)、以及unitils-spring(Spring集成)。...