相对于 DBUnit 数据集中当前的日期

2024-03-01

我想知道是否有任何方法可以指定例如明天作为 DBUnit XML 数据集中的日期。有时,未来日期和过去日期的代码逻辑是不同的,我想测试这两种情况。当然,我可以指定 2239 年 11 月 5 日之类的日期,并确保测试在此日期之前有效,但是否有更优雅的方法。

我在Java开发过程中还没有遇到过这种情况,但是我曾经遇到过代码逻辑在日期前一天、日期前两天和日期前两天以上不同的情况。在这种情况下,编写数据库驱动测试的唯一可能的解决方案是在数据导入期间插入相对日期。

DBUnit 是否为此提供了任何设施?


我刚刚开始使用 DBUnit,并正在寻找类似的功能。不幸的是,框架中似乎没有日期的表达语言。不过,我确实使用 DBUnit 的 ReplacementDataSet 类找到了合适的解决方法。此类采用 IDataSet 对象并公开方法来替换 IDataSet 对象从数据集文件中提取的对象。

dataset

<dataset>
    <user first_name="Dan"
          last_name="Smith"
          create_date="[create_date]"/>
<dataset>

源代码

String dataSetFile = "testDataFile.xml";
IDataSet dataSet = new FlatXmlDataSetBuilder().build(new FileInputStream(dataSetFile));
ReplacementDataSet rDataSet = new ReplacementDataSet(dataSet);
Set<String> keys = dataSetAdjustments.keySet();
rDataSet.addReplacementObject("[create_date]", DateUtils.addDays(new Date(), -2));

现在,当测试运行时,用户的创建数据将始终设置为测试运行前两天。

希望这可以帮助。祝你好运。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

相对于 DBUnit 数据集中当前的日期 的相关文章

  • JAVA - 带有特殊字符的 LDAP 密码不起作用

    我试图在我的系统上创建一个登录屏幕 在 Active Directory 中进行查询 但是当用户的密码包含一些特殊字符 如 和 时 它不会验证 我需要加密密码才能工作吗 我该怎么做 我使用 getPassword 通过 JPasswordF
  • 从 OMElement 对象获取 InputStream/io.Reader

    我有一个OMElement对象 从中我想得到一个InputStream或读者对象 我想要的是流式传输xml来自OMElement我有 没有加载到内存中 我只能得到XMLStreamReader对此表示反对 但我找不到办法得到InputStr
  • Hibernate OneToMany 关系是 PersistentBag 而不是 List

    我正在 javafx 中开发一个应用程序 它通过 RMI 与 EAR 连接 该 EAR 连接到 SQLServer DB 并使用 hibernate 映射 POJOS 这些 POJOS 包含双向 OneToMany 和 ManyToOne
  • Java Swing:清除JList而不触发监听器

    我的情况如下 我有一个 JList 只要在列表中进行选择 它就会触发搜索 使用 ListSelectionListener 我正在尝试使用以下命令重置列表上的选择list clearSelection 这样做的问题是使用clearSelec
  • 以编程方式将 PEM 证书导入 Java KeyStore

    我有一个由两个文件 crt 和 key 组成的客户端证书 我希望将其导入到 java KeyStore 中 然后在 SSLContext 中使用 以通过 Apache 的 HTTPClient 发送 HTTP 请求 但是 我似乎找不到一种以
  • 使用多个构造函数创建不可变类

    我正在阅读这一页 https docs oracle com javase tutorial essential concurrency imstrat html关于在 Java 中创建不可变类 并决定根据页面上概述的规范修改我正在编写的类
  • JUnit Eclipse 显示 System.out.print() 的

    我正在使用 JUnit 3 和 Eclipse 3 4 当我运行 JUnit 测试用例时 一切正常并且测试完美完成 唯一的事情是我想查看我正在运行的类的输出 所有类都具有一些输出值的基本 System out print 因此 当我运行测试
  • 从 eclipse 运行时 java.io.FileNotFoundException: (没有这样的文件或目录)

    我正在写入文件并想要控制台输出 TODO Create a game engine and call the runGame method public static void main String args throws Excepti
  • 如何在具有动态列的表中插入值 Jdbc/Mysql

    我想在具有动态列的表中添加值 我设法创建一个包含动态列的表 但我不知道如何插入数据 Create Table sql CREATE TABLE MyDB myTable level INTEGER 255 int columnNumber
  • Java 的 QP 求解器 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Spring 中设置 WS https 调用超时 (HttpsUrlConnectionMessageSender)

    我正在尝试为 WS 调用设置超时 我延长了WebServiceGatewaySupport并尝试将发送者超时设置为如下 public Object marshalSendAndReceive Object requestPayload We
  • Vertx HttpClient getNow 不工作

    我的 vertx HttpClient 有问题 下面的代码显示使用 vertx 和纯 java 测试 GET Vertx vertx Vertx vertx HttpClientOptions options new HttpClientO
  • 您能让 Tomcat 6 stdout.log 文件表现得像 log4j DailyRollingFileAppender 吗?

    我们使用的是 Tomcat 6 的 Windows 安装 默认情况下 我们应用程序的 log4j 输出将转到 catalina base logs stdout log 文件 该日志文件仅在我们重新启动 Tomcat 时滚动 并且文件名始终
  • 如何在将数据发送到 Firebase 数据库之前对其进行加密?

    我正在使用 Firebase 实时数据库制作聊天应用程序 我知道 Firebase 非常安全 只要您的规则正确 但我自己可以阅读使用我的应用程序的人的所有聊天记录 我想阻止这种情况 为此我需要一种解密和加密方法 我尝试使用凯撒解密 但失败了
  • .class 与 .java

    class 文件和 java 文件有什么区别 我正在尝试让我的小程序工作 但目前我只能在 Eclipse 中运行它 还不能嵌入 HTML 谢谢 编辑 那么如何使用 JVM 进行编译呢 class 文件是编译后的 java 文件 java 都
  • 通用 JSF 实体转换器[重复]

    这个问题在这里已经有答案了 我正在编写我的第一个 Java EE 6 Web 应用程序作为学习练习 我没有使用框架 只是使用 JPA 2 0 EJB 3 1 和 JSF 2 0 我有一个自定义转换器 用于将存储在 SelectOne 组件中
  • 为什么在尝试使用 Java 连接到 RDS PostgreSQL 数据库时会收到 SocketTimeoutException?

    我有一个 Spring 应用程序 我试图在 AWS 上托管 几天来我一直在努力配置 我有一个 EC2 实例 并且能够通过 SSH 连接到它 我还在 AWS 中设置了 Postgres RDS 数据库 但我无法使用 IDE 中的代码连接到它
  • java中的比较器链

    正在阅读Oracle 关于接口的 Java 教程 https docs oracle com javase tutorial java IandI createinterface html其中给出了一个例子Card 打牌 我试图理解接口中的
  • Java的hashCode可以为不同的字符串产生相同的值吗?

    使用java的哈希码函数是否可以为不同的字符串提供相同的哈希码 或者如果可能的话 其可能性的 是多少 Java 哈希码是 32 位 它散列的可能字符串的数量是无限的 所以是的 会发生冲突 百分比是没有意义的 项目 字符串 的数量是无限的 而
  • 日期时间解析异常

    解析日期时 我的代码中不断出现异常错误 日期看起来像这样 Wed May 21 00 00 00 EDT 2008 这是尝试读取它的代码 DateTimeFormatter formatter DateTimeFormatter ofPat

随机推荐

  • Rvest html_nodes span div 和 Xpath

    我正在尝试通过阅读 XPath 代码来抓取网站 当我进入开发人员部分时 我看到这些行 span class js bestRate show 我想抓取 data abc 的所有值 假设网站上的每个元素都是一部电影 所以我想抓取页面上每部电影
  • SyncStateNotFound 错误:如何修复或避免?

    我使用 Microsoft Graph API 增量查询定期下载一些信息 消息 联系人 事件 但有时我会收到此错误 error code SyncStateNotFound innerError date 2018 06 01T06 31
  • 如何在 Watin 中通过标签名称查找元素?

    如何使用 Watin 使用 TagName 来查找特定元素或元素列表 从 WatiN 2 0 beta 1 开始 这已更改为 ie ElementWithTag h1 constraint 使用 Find XXX 方法时会创建约束 这是一个
  • Facebook ShareDialog 在完成时始终返回 .canceled

    共享对话框打开 Facebook 应用程序 尽管内容已成功共享 但我总是收到 取消打回来 在这两种情况下 当我取消共享时和共享成功时 知道出了什么问题吗 Pod 版本 Using Bolts 1 8 4 Using FBSDKCoreKit
  • 矩形内最大的空矩形

    我的数学不太好 所以我很难将公式转换为代码 而且我在谷歌上找不到任何现成的东西 我有一个包含很多小矩形的大矩形 我需要做的就是计算最大的空矩形 任何人都可以帮助我吗 这就是我想出的 没什么可说的 这是一个很大的失败 Rect result
  • 使用 MPI 和 C++ 从不同节点收集数据

    我正在开发一个包含多个从节点和一个主节点的项目 在某些时候 我需要将来自不同从节点 主节点也可以视为从节点 的数据收集到主节点 数据可以是任何类型 但我们假设它是 unsigned int 这就是数据在从节点上的样子 节点0 块01 块02
  • 在 [code] 和 [php] 标签内查找 URL [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的字符串是这样的 string Link 1 code This is a textual line www google com
  • Jackson:忽略父类属性

    有什么方法可以告诉杰克逊在序列化子类时忽略父类的属性吗 class Parent private String parentProperty1 private String parentProperty2 getter setter Ign
  • 如何使用 MVVM 和 MVVM 工具包将属性绑定到文本框?

    我是 MVVM 新手 为了学习 我创建了一个示例应用程序 以便在单击按钮时在文本框中显示消息 在我的代码中 按钮命令工作正常 但该属性未绑定到文本框 如何使用 MVVM 将属性绑定到文本框 我的代码类似于下面给出的 View
  • ASP.NET vNext - 本地化 (.resx)

    如何使用 resx 文件通过 ASP NET vNext 云优化模式 进行本地化以及如何为当前线程设置区域性 System Threading Thread CurrentThread CurrentCulture System Threa
  • 为什么这个函数将RAX压入堆栈作为第一个操作?

    在下面的 C 源代码汇编中 为什么RAX被压入堆栈 据我从 ABI 的了解 RAX 可以包含调用函数中的任何内容 但我们将其保存在这里 然后将堆栈向后移动 8 个字节 所以我认为堆栈上的 RAX 只与std throw bad functi
  • 如何解决“允许的内存大小已耗尽”错误?

    我正在使用 phpspreadsheet 我想修改一个包含 4 张纸的 xlsx 文件 我只想在 2 张表中插入数据 但我想将所有 4 张表复制到新的 xlsx 文件中 当我这样做时 我收到此错误 致命错误 允许的内存大小 53687091
  • 是否有高级 Ag-Grid 事件来侦听列状态的任何更改?

    我将 Ag Grid 与 Angular 一起使用 我想听听any修改列状态的事件 截至目前 我必须列出所有事件 columnVisible onCol event columnMoved onCol event etc 是否有我可以依赖的
  • 在 python 中查询返回本地范围的对象

    下面是返回的程序function函数中定义的类型对象f其堆栈帧 f1 在程序退出之前仍然存在 下面是返回的程序int类型对象 值为1024 但返回后栈帧不存在int类型对象 根据上面两个图 为什么返回类型机制存在这种差异 当您返回时 框架不
  • 如何使用 XSLT 合并两个 xml 文件

    我有两个 xml 文件 需要使用 XSLT 将它们合并为一个 第一个 XML 是 原始 XML
  • 如何计算php中2个unix时间戳之间的间隔而不除以86400(60 * 60 * 24)

    我有 2 个 unix 时间戳 我位于亚太地区 奥克兰时区 GMT 12 夏令时 GMT 13 我想计算两个时间戳之间的天数间隔 其中一个在夏令时内 一个不在夏令时内 我的示例日期是 7 Feb 2009 1233925200 to 21
  • 什么是 Git?我为什么需要它?

    我对编程还很陌生 但我觉得我已经掌握了它的窍门 并且我正在尽力学习 我一直读到 Git 对于编程项目来说绝对至关重要 但我似乎无法弄清楚它实际上是什么does 谷歌也不想告诉我 该网站称其为 分布式版本控制系统 呃 嗯 有人可以向新手解释一
  • 后台工作者 while 循环

    我想要创建的是一个后台工作者 每 30 秒执行几个进程 但我希望只要程序启动就执行这个 while 循环 这是我正在使用的 private void watcherprocess1 backgroundWorker1 RunWorkerAs
  • python 中的 crontab

    我正在用 python 为某种守护进程编写代码 该守护进程必须在由 crontab 字符串定义的特定时间实例执行特定操作 有我可以使用的模块吗 如果没有 有人可以粘贴 链接一个算法 我可以用它来检查 crontab 定义的时间实例是否在上次
  • 相对于 DBUnit 数据集中当前的日期

    我想知道是否有任何方法可以指定例如明天作为 DBUnit XML 数据集中的日期 有时 未来日期和过去日期的代码逻辑是不同的 我想测试这两种情况 当然 我可以指定 2239 年 11 月 5 日之类的日期 并确保测试在此日期之前有效 但是否