Tests unitaires sur les DAO cohérents après modification de la BD
Bonjour @EMMANUEL.COQUERY ,
Comment rédiger des tests unitaires de DAO qui continuent de passer après modification des instances de la Base de Données ?
Je m'explique :
Pour faire mes tests unitaires, j'ai considéré qu'on connaissait les éléments de la BD.
Du coup, quand on veut tester CategorieDAO, on lui dit en gros :
- utiliser la méthode que je veux tester pour aller chercher la Categorie correspondant à l'id = 1.
- vérifier (assert) qu'il trouve bien une catégorie, que son id est bien 1, et que son nom est bien "ordi fixe".
Ou pour une méthode un peu plus compliquée, on peut aussi vérifier que la liste de résultats obtenue est bien de longueur 2. Etc.
Bref, on utilise la connaissance des instances de la base pour faire les tests.
Mais en pratique, on écrit les DAO et les tests maintenant, mais on peuplera la BD après.
Et les résultats attendus vont changer. Je vais me retrouver avec des tests qui échouent...
Du coup, j'aurais dû formuler mes tests autrement.
Peut-être aurais-je dû ne vérifier que ce que j'ai défini dans le test même, à savoir, dans mon exemple, je vérifie juste que son id est bien 1, mais je ne vérifie pas son nom. Mais ça parait moins complet...
Je vous remercie des pistes que vous pourrez nous donner.
Anne-Aymone Bourguin, pour le groupe 3