Diff entre un export DBUNIT d'une table et la requete select *

Victor
Messages : 17
Inscription : mer. janv. 16, 2019 7:11 am

Diff entre un export DBUNIT d'une table et la requete select *

Message par Victor »

Bjr,

Après avoir extrait maTable avec DBeaver au format DBUnit et positionné le fichier xml dans resources/sql dans mon projet Sq-TA, au moment de l'exécution du test et le passage de la requête SQL du type "select * from maTable" le résultat du test est [ERROR] 'The two compared datasets are different.' alors qu'il n'y a aucune différence/aucune action en base...
Quelle peut être la cause ? Merci !

[u]
Voici mon code dans Sq-TA :[/u]
[i]LOAD sql/grille_produit_actuel.sql AS query.file
CONVERT query.file TO query.sql AS my.query


# LOAD dbunit/resultsets/grille_produit_DBUnit.xml TO XML DATASET expected.dataset


EXECUTE execute WITH my.query ON maBase_db AS my_query_result
CONVERT my_query_result TO dataset.dbunit AS actual.dataset

ASSERT actual.dataset IS equal WITH expected.dataset[/i]

Et le résultat obtenu dans -diff :
The first dataset does not contains the grille_produits dataset.
edegenetais
Messages : 42
Inscription : lun. oct. 06, 2014 6:41 am

Re: Diff entre un export DBUNIT d'une table et la requete select *

Message par edegenetais »

bonjour,
la raison de l'échec de comparaison est que la conversion par défaut produit un dataset contenant la table 'dataset'.
Vous avez donc deux possibilités :
1 - /!\ uniquement si votre dataset n'est utilisé que pour la comparaison /!\
=> dans le dataset, renommer la table en 'dataset'

2 - possible dans tous les cas :

Ajoutez le paramètres optionnel tableName à votre CONVERT de la manière suivante, pour que le result set porte le nom de votre table :

CONVERT insertion_query.resultset TO dataset.dbunit (dataset) USING $(tablename:<name_Table>) AS dataset

ex : CONVERT insertion_query.resultset TO dataset.dbunit (dataset) USING $(tablename:grille_produits) AS dataset

(reférence https://sites.google.com/a/henix.fr/wik ... set.dbunit)
Répondre

Revenir à « Database plugin »