Question

J'ai eu une discussion avec quelqu'un sur les tests d'unité / intégration avec des applications Web et j'ai un désaccord sur 1 idée de base. Les problèmes sont que la personne à qui je parle pense que la base de données dont le test unitaire a travaillé devrait contenir des données pré-peuplées et je pense qu'elle devrait être complètement vide avant et après l'exécution des tests.

Ma préoccupation concernant les données pré-peuplées dans la base de données est qu'il n'y a aucun moyen de s'assurer que les données sont maintenues dans un bon état. Les tests eux-mêmes vont créer, supprimer et modifier des données dans la base de données, donc je ne vois vraiment pas comment avoir des données dans la base de données avant de commencer les tests est une bonne chose.

Il semble que le meilleur moyen de tester la fonctionnalité de la base de données serait d'avoir les configurations suivantes:

  1. Dans une phase "Configuration" avant l'exécution du test, vous tronquez d'abord toutes les tables de la base de données
  2. Ensuite, vous insérez toutes les données nécessaires pour les cas de test que vous êtes sur le point d'exécuter
  3. Ensuite, vous exécutez et validez les cas de test
  4. Ensuite, dans une phase de "démontage", vous tronquez à nouveau toutes les tables de la base de données

Je ne vois aucune autre meilleure façon de veiller à ce que les données que vous testez dans sont un bon test testable.

Est-ce que j'ai râté quelque chose? N'est-ce pas le meilleur moyen de tester les fonctionnalités liées à la base de données? Y a-t-il un avantage pour avoir une base de données pré-populée qui existe toujours dans la base de données (avant même de commencer les tests ou une fois les tests effectués)? Toute aide dans les idées pour expliquer mon processus différemment pour mieux faire passer mon point de vue serait également formidable (c'est-à-dire si mon point a des mérites).

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
scroll top