`
xiongzhenhui
  • 浏览: 209695 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

spring与dbunit集成测试

阅读更多

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.示例看附件,(示例为部分代码,不能运行)

分享到:
评论
2 楼 qq262549820 2011-03-04  
eeeeeeee
1 楼 qq262549820 2011-03-04  
5555

相关推荐

    主题:在Spring中结合Dbunit对Dao进行集成单元测试

    在数据库驱动的应用程序中,Dao层通常负责与数据库的交互,因此对Dao进行集成测试是非常必要的。 1. **配置Spring测试环境** 在Spring项目中,我们需要创建一个测试配置类,该类通常继承自`...

    spring+dbunit测试访问数据库代码

    标题中的“spring+dbunit测试访问数据库代码”指的是在Java开发中使用Spring框架与DBUnit进行集成,以实现对数据库的测试。DBUnit是用于数据库单元测试的工具,它可以加载和验证数据库的数据状态,确保测试的隔离性...

    Spring3单元测试和集成测试

    本文将深入探讨Spring3中的单元测试和集成测试,并结合DBunit这一数据库测试工具进行说明。 首先,单元测试是针对软件的最小可测试单元进行验证,通常是一个方法。在Spring3中,我们可以使用JUnit作为基础测试框架...

    Spring Boot 与DBunit 配合使用方法

    总的来说,通过集成 DBUnit,Spring Boot 应用可以实现高效的数据库测试,确保在开发过程中数据操作的正确性。这有助于提高代码质量,减少因数据库问题导致的生产故障。在实际项目中,应根据项目需求和团队规范调整...

    通向架构师的道路(第二十五天)SSH的单元测试与dbunit的整合的例子

    DbUnit是一个用于数据库集成测试的Java库,它可以将数据库状态设置为已知的初始状态,便于测试。在SSH项目中,可以在测试前导入XML格式的数据集到数据库,测试后清除这些数据,确保每次测试的环境一致。dbunit可以...

    jpa-lucene-spring-demo:使用JPA,Lucene,Spring,DBUnit和JMockit的演示项目-持久并搜索简单的Book数据

    有2个测试类-一个使用JUnit和JMockit的简单单元测试,另一个使用DBUnit的测试。 DBUnit测试是一个很好的例子,可以了解它是如何工作的-它会填充内存中的HSQL数据库,然后使用Lucene查询其中的数据。 该示例很简单...

    dbunit-spring-demo:DBUnit Utility演示(使用Spring)

    DBUnit是JUnit的一个扩展,专门用于数据库的集成测试,它允许开发者在测试之前填充数据库,执行测试后清理数据,确保每个测试用例都在一个已知的干净状态中运行。 首先,让我们深入了解DBUnit。DBUnit提供了数据...

    dbunit开发文档

    2. Spring 集成:如果你的项目使用 Spring,可以利用 Spring's `DbUnitTestExecutionListener` 来自动管理 DBUnit 的生命周期。 3. Maven 插件:也有 Maven 插件可用来自动化 DBUnit 测试,例如 maven-dbunit-...

    spring3学习笔记(2)-集成ibatis3进行单元测试

    在本篇“Spring3学习笔记(2)-集成ibatis3进行单元测试”中,我们将深入探讨如何在Spring3框架中整合Ibatis3,并利用它来进行单元测试。这个主题对于理解如何在实际项目中实现数据访问层的测试具有重要意义。在现代...

    spring-test-dbunit-example

    快速入门示例Spring DBUnit提供了Spring测试框架和DBUnit项目之间的集成。 在这个例子中,我们展示了如何使用Hypersonic内存数据库测试Hibernate JPA项目。依存关系该项目将使用Apache Maven构建。 这是完整的POM...

    DBUnit测试规范[收集].pdf

    DBUnit 是一个用于数据库测试的Java工具,它与JUnit结合使用,可以帮助开发者在软件开发过程中进行数据驱动的测试。在本文中,我们将深入探讨DBUnit测试规范及其在软件开发中的应用。 首先,按照DBUnit测试规范,...

    springTestspringTestspringTestspringTest

    10. **Spring TestDBUnit**:这是一个扩展,结合了Spring TestContext Framework和DBUnit,用于数据库相关的集成测试,它可以帮你设置和还原数据库到已知状态。 文件名称列表中的"springTest"可能指的是测试项目中...

    test-mvc:使用 Spring MVC 测试框架进行测试

    使用 MockMvc、Mockito 和 DbUnit 进行单元和集成测试灵感Spring MVC 测试教程 - Spring MVC 中的异常处理 - 下一步如果您对测试生成 HTML 的控制器感兴趣,您可以查看 Spring MVC 测试教程( )并了解如何测试由...

    基于spring,struts(struts2),hibernate的web项目脚手架

    rapid-validation 集成extremeTable列表分页组件,并简单扩展显示pageNumber 集成DBUnit及spring对数据库测试的支持 内置的分页查询PageInfo接口 Java日期转换的特殊处理,与My97DatePicker集成 内置最精简的ant构建...

    Spring.3.x企业应用开发实战(完整版).part2

    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 技术...

    用_hibernate_和_spring_开发持久层

    6. 测试:使用Spring的TestContext框架和DbUnit进行单元测试,确保业务逻辑和事务处理正确无误。 通过这种方式,我们可以构建出一个既利用了Hibernate的ORM能力,又具备Spring事务管理优势的持久层。这不仅简化了...

    用 hibernate 和 spring 开发持久层.doc

    同时,测试时可以利用Spring的Mockito或DBUnit进行单元测试,确保持久层的正确性。 5. 测试驱动开发(TDD) 在文章中提到的示例中,使用了DbUnit进行测试驱动开发。TDD是一种软件开发方法,强调先写测试用例,再...

    springside4

    使用JUnit和Mockito进行单元测试,通过Spring Test和DBUnit进行集成测试,确保代码的质量和稳定性。 六、代码质量管理与重构 SpringSide 4 遵循良好的编码规范,如SOLID原则,以及代码重构的最佳实践。通过学习...

    Unitils单元测试

    DbUnit(DbUnit集成)、unitils-easymock(EasyMock支持)、unitils-inject(对象注入)、unitils-mock(Mock对象简化)、unitils-orm(ORM支持,包括Hibernate和JPA)、以及unitils-spring(Spring集成)。...

Global site tag (gtag.js) - Google Analytics