2017-09-24 23 views
0

Existe-t-il un moyen de le faire? Je veux tester certaines requêtes SQL contenant des instructions DELETE et UPDATE mais je ne veux pas valider la modification.Test (JUnit) instruction SQL DELETE et UPDATE sans validation

+1

Désactiver la validation automatique et effectuer votre SELECT dans la même transaction que votre UPDATE ou votre DELETE? –

+0

De quoi avez-vous besoin pour tester? Si vous ignorez la validation, vous manquerez également toutes les vérifications implémentées dans des contraintes reportables (si votre base de données les prend en charge). Habituellement, vous testez l'accès aux données afin de configurer la base de données (DB de test dédié ou DB en mémoire) avant d'exécuter les tests et de nettoyer/supprimer le DB après l'exécution des tests. –

+1

On dirait des tests d'intégration, pas des tests unitaires pour moi – Catchwa

Répondre

0

Dépend vraiment du SGBDR que vous utilisez. Dans Oracle, vous pouvez annuler n'importe quoi jusqu'à ce que vous exécutiez commit. Dans les bases de données transactionnelles, il existe généralement une option permettant d'ouvrir une transaction, de manipuler certaines données et de fermer ou annuler.

La meilleure façon est de faire une copie d'une table avec une tranche de données et d'essayer tout ce qui s'y trouve.

PS: Ne plaisante pas avec Prod! :)