java - 如何测试SQL动态查询?

标签 java unit-testing spring ibatis

我的应用程序基于 Spring/iBatis (2.3)。我通常在 sqlMap 中编写大量动态查询,并且我想测试生成的 SQL 查询以避免任何语法错误。为了更精确,我想:

  1. 检查 SQL 语法(取决于 我生成的所有查询的 sql 方言)
  2. 检查我的查询是否正常工作 与实际的数据库结构

是否已经存在一个库,可以让我有机会在没有数据库连接的情况下检查 SQL 语法(步骤 1),具体取决于 sql 方言(我实际上使用的是 Oracle)?

是否已经存在一个 sqlMap 解析器,它可以帮助我生成所有潜在的查询,包含动态参数的所有组合?

基本上,我正在考虑一种方法来避免为每个查询编写一个(或多个)单元测试。我想自动化此步骤,以确保我生成的查询始终正确。还有其他建议吗?

最佳答案

有一个相关的question有些人建议使用 DBUnit 。也许你应该尝试一下。

关于java - 如何测试SQL动态查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5598632/

相关文章:

java - 如何为接口(interface)默认方法编写 Junit

java - 在 spring-data 项目中使用 @Version

java - 如何缩放 JPanel 以适应 JFrame

unit-testing - 如何使用Spock框架测试Grails服务方法的交互

java - 有没有办法让不同的 RequestBodies 的不同方法具有相同的映射? (补丁请求)

java - Spring Data MongoDB - 始终使用默认参数连接

java - TransactionrequireException,没有正在进行的交易

java - 为什么不能保护java主类?

java - 从 HTML 源中提取字符串

使用两个不同文件的类中的 Python 模拟内置 'open'