我正在为生成SQL语句的Java组件编写单元测试。使用普通的旧assertEquals("select col_1,col_2 from a_table", actualSql)
会导致脆弱的测试。例如:从HashSets生成的列列表具有不确定的顺序;引用字符串外的空格并不重要。
SQL的语法不是很复杂,我不需要比较SQL方言。但编写一个将SQL解析为标准结构的函数是一件非常重要的任务,感觉就像重新发明轮子一样。这些天大量的单元测试都支持每个人的代码:),所以必须有一种轻量级的方法来比较SQL。任何人都可以推荐一个吗?
答案 0 :(得分:1)
只需使用测试数据库执行SQL查询并比较结果。