Je veux écrire des tests unitaires avec NUnit qui a frappé la base de données. J'aimerais avoir la base de données dans un état cohérent pour chaque test. Je pensais que les transactions pourraient me permettre de "undo" de chaque test, j'ai donc cherché et trouvé plusieurs articles de 2004-05 sur le sujet:
- http://weblogs.asp.net/rosherove/archive/2004/07/12/180189.aspx
- http://weblogs.asp.net/rosherove/archive/2004/10/05/238201.aspx
- http://davidhayden.com/blog/dave/archive/2004/07/12/365.aspx
- http://haacked.com/archive/2005/12/28/11377.aspx
Ceux-ci semblent résoudre autour de la mise en œuvre d'un attribut personnalisé pour NUnit qui construit dans la capacité de restauration DB opérations à l'issue de chaque test s'exécute.
C'est génial mais...
- Cette fonctionnalité existe quelque part dans NUnit nativement?
- A cette technique à été amélioré dans les 4 dernières années?
- Est-ce encore le meilleur moyen de tester la base de données de code?
Edit: c'est pas que je veux tester mon DAL en particulier, c'est plus que je veux tester des morceaux de mon code qui interagissent avec la base de données. Pour que ces tests soient "no-touch" et reproductibles, ce serait génial si je pouvais réinitialiser la base de données après chacun d'eux.
Plus loin, je tiens à vous soulager dans un projet existant qui n'a pas lieu d'examen à l'heure actuelle. Pour cette raison, je ne peux pas pratiquement script d'une base de données et des données à partir de zéro pour chaque test.