db2查询语法错误,如何用h2运行单元测试

xnifntxz  于 2022-11-07  发布在  DB2
关注(0)|答案(1)|浏览(174)

这里的问题由两部分组成,并记住下面的db2查询:

select col1!!col2 from table1

1.我从来没有见过双感叹号(!!)操作符。从它返回的结果来看,它似乎是在做col1和col2的简单连接。我在db2文档中在线查找过,但还没有找到定义。有人能验证一下吗?
1.我不允许修改查询以使用不同的语法,我希望能够在内存数据库中使用h2对这个查询和其他有一些db2怪癖的查询运行一个单元测试。我如何在junit4中实现这一点?

3htmauhk

3htmauhk1#

我最终解决这个问题的方式可能有点丑陋,但这是我在我的限制内所能做的最好的:

  • 不能为实际的db2数据库的测试示例使用docker容器
  • 不能直接修改源文件中定义的查询

在我的单元测试中,我执行了以下操作:
1.在返回原始查询的服务方法上设置spy bean
1.我在spy bean上创建了when条件,这样,when条件将返回具有h2兼容语法(||>=等)的 * 等效 * 查询,而不是返回我知道不会起作用的查询(根据示例,使用!!^<等填充)
1.使用修改后的查询查询h2数据库
希望这能帮助到一些人。

相关问题