【问题标题】:Testing date values with HSQLDB使用 HSQLDB 测试日期值
【发布时间】:2016-04-21 04:37:27
【问题描述】:

我们在生产中使用 SQLServer,但在集成测试中使用 HSQLDB。使用 HSQLDB 是因为它是一个内存数据库。

我有一个执行以下代码的 SQLServer SQL:

select convert(varchar(8), pos_val_date, 112) 
from wscpos;

在 HSQLDB 中,这不起作用。代码应该是:

select to_char( pos_val_date, 'YYYYMMDD')
from wscpos;

调整我的代码以使其在生产和集成测试中运行的最佳做法是什么?

【问题讨论】:

  • 使用 SQLServer Express 进行测试,完全不要更改代码
  • 如果您真的想看看您的代码是否可以工作,请使用相同的数据库进行生产和集成测试。
  • 我猜 OP 没有提到的是他们想要一个内存解决方案。我不确定 MS SQL 是否可以提供。
  • 正确,我调整了问题以包含该信息。

标签: java sql-server testing integration-testing hsqldb


【解决方案1】:

如果您倾向于更改数据库以进行集成测试,我建议使用 H2 使用 MODE=MSSQLServer,它应该提供与 MS SQL Server 更好的兼容性,比 HSQLDB 现在为您提供的更好.

【讨论】:

  • 非常有趣,这确实适用于我发布的简单示例,但我仍然存在一些不兼容问题,因为我的 SQL 比问题中显示的更复杂......但我会对此进行调查。
猜你喜欢
  • 2015-12-09
  • 1970-01-01
  • 1970-01-01
  • 2011-12-31
  • 2023-03-14
  • 2011-08-21
  • 1970-01-01
  • 2010-12-28
  • 1970-01-01
相关资源
最近更新 更多