dbunit测试dao

如果您曾经尝试用Java编写数据库测试,则可能会遇到DBUnit 。 DBUnit允许您设置和拆除数据库,以便它包含可针对其编写测试的一致行。

通常,您可以通过编写一个简单的XML文档来指定要DBUnit插入的行,例如:

<?xml version="1.0" encoding="UTF-8"?>
<dataset><Person id="0" title="Mr" firstName="Dave" lastName="Smith"/><Person id="1" title="Mrs" firstName="Jane" lastName="Doe"/>
</dataset>

您也可以使用相同格式的XML文件来断言数据库包含特定的行。

DBUnit在使用内存数据库时效果特别好,如果使用Spring,则设置起来非常简单。 这是一篇很好的文章,描述了如何入门。

直接使用DBUnit是可以的,但是一段时间后,您会发现有多少测试遵循相同的数据库设置模式,然后测试结果。 为了减少重复,您可以使用spring-test-dbunit项目 。 该项目托管在GitHub上,并提供了一组新的批注,可以将其添加到您的测试方法中。 1.0.0版刚刚发布,现在可以在Maven中央存储库中使用:

<dependency><groupId>com.github.springtestdbunit</groupId><artifactId>spring-test-dbunit</artifactId><version>1.0.0</version><scope>test</scope>
</dependency>

安装后,可以在测试中使用三个新的注释: @DatabaseSetup@DatabaseTearDown@ExpectedDatabase 。 这三种都可以在测试类上使用,也可以在单独的测试方法上使用。

@DatabaseSetup@DatabaseTearDown批注用于在测试运行之前或测试完成之后将数据库置于一致状态。 您指定要用作注释值的数据集,例如:

@Test
@DatabaseSetup("sampleData.xml")
public void testFind() throws Exception {// test code
}

测试完成后, @ ExpectedDatabase批注用于验证数据库的状态。 与前面的注释一样,您必须指定要使用的数据集。

@Test
@DatabaseSetup("sampleData.xml")
@ExpectedDatabase("expectedData.xml")
public void testRemove() throws Exception {// test code
}

您可以在两种不同的模式下使用@ExpectedDatabase ,具体取决于验证的严格程度(有关详细信息,请参见JavaDocs )。

对于要处理的注释,您需要确保测试使用的是DbUnitTestExecutionListener。 有关完整的详细信息,请参见项目自述文件 。 如果您想了解更多信息,可以在GitHub上找到一个示例项目,并在此处获得一些入门指南 。

参考:来自Phil Webb博客博客的JCG合作伙伴 Phillip Webb 使用DBUnit,Spring和Annotations进行数据库测试 。

翻译自: https://www.javacodegeeks.com/2012/04/dbunit-spring-and-annotations-for.html

dbunit测试dao

dbunit测试dao_用于数据库测试的DBUnit,Spring和注释相关推荐

  1. 用于数据库测试的DBUnit,Spring和注释

    如果您曾经尝试用Java编写数据库测试,则可能会碰到DBUnit . DBUnit允许您设置和拆除数据库,以便它包含可针对其编写测试的一致行. 通常,您可以通过编写一个简单的XML文档来指定要DBUn ...

  2. 窗体测试只能用于本地测试_爆料:微软 Win10X 将首先用于测试单屏笔记本

    本文转自:IT之家 作者:玄隐 去年,微软宣布了新的桌面操作系统"Windows 10X".Windows 10X是专为Surface Neo等双屏或折叠屏设备而设计的,但正如我们 ...

  3. Linux烤机脚本测试io,sipp测试脚本用于媒体测试

    前言 sipp是一款用于测试SIP的命令行工具,普通情况下,我们主要用来测试的是SIP信令,而要测试媒体,其提供对PCAP抓包的读取以及发送功能支持,但是在多次实验的情况下,其每次也只能单独发送音频流 ...

  4. 保证数据库质量安全:从0开始的数据库测试

    如今,使用Android等技术以及许多智能手机应用程序,计算机应用程序变得更加复杂,前端越复杂,后端就越复杂. 因此,了解数据库测试.有效地验证数据库,以确保数据库的安全性和质量就显得尤为重要. 在本 ...

  5. 【达梦数据库】数据库测试

    文章目录 前言 1 数据库测试 1.1 测试流程 1.2 测试内容 1.3 测试标准 2 TPC-C基准测试 2.1 概念介绍 2.2 模型介绍 2.3 测试流程 2.4 工具介绍 2.5 操作步骤 ...

  6. dbunit测试dao_使用DbUnit和Anthill控制您的测试环境

    存档日期:2019年5月14日 | 首次发布:2004年4月13日 极限编程方法的诞生使测试驱动的开发和持续集成成为主流Java开发实践. 如果没有正确的工具,将这些技术应用于Java服务器端开发可能 ...

  7. scip指令集_快讯!用于提交物品中SVHC物质信息的SCIP数据库测试版本已经开放

    原标题:快讯!用于提交物品中SVHC物质信息的SCIP数据库测试版本已经开放 2020年2月17日,ECHA公布企业可以开始测试用来提交物品中SVHC物质信息的SCIP数据库测试版,此测试版本能够使企 ...

  8. 使用TestContainers进行数据库测试

    如果您曾经编写过测试数据库交互的代码,例如数据访问对象,那么您很可能遇到了测试中最长期的烦恼之一:为了准确地测试这些交互,需要一个数据库. 为了本文的方便,让我们考虑一个将PostgreSQL用作其环 ...

  9. 阿里云开放国内首个云端数据库测试平台,云已成为数据库新标准;华为5G随行WiFi发布;科大讯飞推出 AI 专用语音芯片系列……...

    戳蓝字"CSDN云计算"关注我们哦! 嗨,大家好,重磅君带来的[云重磅]特别栏目,如期而至,每周五第一时间为大家带来重磅新闻.把握技术风向标,了解行业应用与实践,就交给我重磅君吧! ...

最新文章

  1. ubuntu远程桌面连接命令rdesktop连接windows远程桌面详解
  2. 知识图谱最新权威综述论文解读:实体发现
  3. dubbo全局异常处理_基于spring aop的dubbo异常统一处理
  4. c++ cdi+示例_C ++“或”关键字示例
  5. 实现Android的消息通知栏
  6. 软件工程理论方法与实践
  7. JavaScript-包装类型
  8. mongodb系列~mongodb的副本集搭建和原理
  9. Lesson 04 for Plotting in R for Biologists
  10. 人人商城数据字典---链接内容
  11. 计算机已锁定的时候鼠标不能用,鼠标驱动正常但是不能用怎么回事_电脑鼠标驱动正常但是不能用怎么解决...
  12. 春天的致富梦ZZNU
  13. 录制失败因为媒体服务失败_杨丽萍62岁被判人生失败,因为她一生无子女.........
  14. 虚函数,虚函数表,虚函数实现原理,虚函数实现机制,虚函数解决的问题
  15. oracle查看历史oracle database数据库版本并下载
  16. IOC之bean之间的关系讲解
  17. sanity check
  18. vue 生成带logo的二维码 qrcode-vue 支持下载图片 实例详解
  19. JDO是什么意思?JDO使用实例
  20. Peter Schiff:如果大饼跌破3万刀,那么它将跌破1万

热门文章

  1. 漫画:什么是一致性哈希
  2. 快速搭建Springboot项目的两种方式!!
  3. javaweb中实现分页,持续更新……
  4. 初识Windows程序
  5. Struts文件上传与下载详解 _上传多个文件
  6. oracle修改filesystem,(转):oracle、filesystem、backup日常巡检脚本
  7. spring注解注入IOC
  8. netty java_Netty Java快速指南
  9. java.线程池 线程数_如何在线程“ main”中修复异常java.lang.NoClassDefFoundError:Java中的org / slf4j / LoggerFactory...
  10. monolith_将Java EE Monolith雕刻成微服务