/ / Comment comparer les instructions SQL pour l'égalité fonctionnelle en Java? - java, sql, tests unitaires

Comment comparer des instructions SQL pour une égalité fonctionnelle en Java? - java, sql, unit-testing

Je suis en train d’écrire des tests unitaires pour des composants Java générant des instructions SQL. assertEquals("select col_1,col_2 from a_table", actualSql) entraînerait des tests fragiles. Par exemple: les listes de colonnes générées à partir de HashSets ont un ordre indéterminé; les espaces en dehors des chaînes citées ne sont pas significatifs.

La grammaire de SQL n'est pas très complexe, et jen'ont pas besoin de comparer les dialectes SQL. Mais écrire une fonction qui analyse SQL dans une structure standard est une tâche non triviale, et cela donne l’impression de réinventer la roue. Le code de tout le monde est supporté par de nombreux tests unitaires de nos jours :), il doit donc exister un moyen léger de comparer SQL. Quelqu'un peut-il en recommander un?

Réponses:

1 pour la réponse № 1

Il suffit d'exécuter des requêtes SQL avec les tests de base de données et de comparer les résultats.