如何在Java中比较SQL语句的功能相等?

时间:2015-02-09 10:01:22

标签: java sql unit-testing

我正在为生成SQL语句的Java组件编写单元测试。使用普通的旧assertEquals("select col_1,col_2 from a_table", actualSql)会导致脆弱的测试。例如:从HashSets生成的列列表具有不确定的顺序;引用字符串外的空格并不重要。

SQL的语法不是很复杂,我不需要比较SQL方言。但编写一个将SQL解析为标准结构的函数是一件非常重要的任务,感觉就像重新发明轮子一样。这些天大量的单元测试都支持每个人的代码:),所以必须有一种轻量级的方法来比较SQL。任何人都可以推荐一个吗?

1 个答案:

答案 0 :(得分:1)

只需使用测试数据库执行SQL查询并比较结果。