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.
Diff entre un export DBUNIT d'une table et la requete select *
-
- Messages : 42
- Inscription : lun. oct. 06, 2014 6:41 am
Re: Diff entre un export DBUNIT d'une table et la requete select *
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)
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)