J'utilise SharpArch avec l'attribut [Transaction] de SharpArch.Contrib. L'attribut Transaction est ajouté à une méthode de service d'application et si une exception est levée au cours de cette méthode, les modifications apportées aux objets de domaine sont annulées. De toutes les apparences, cela fonctionne bien. Cependant, j'écris des tests NUnit pour confirmer que des exceptions sont levées quand c'est approprié (état non valide, erreurs de sécurité, etc.) mais je veux aussi confirmer que l'attribut Transaction est présent et fait son travail pour annuler les changements . Y a-t-il un moyen de le faire? Je fais confiance que l'attribut Transaction de SharpArch.Contrib est du code solide, mais un futur programmeur pourrait accidentellement retirer l'attribut Transaction d'une méthode ou le désactiver pendant un test qui ne serait pas détecté par les tests unitaires. Suis-je trop prudent?Comportement de l'attribut de test
Merci
Dan
Totalement. Ne pas tester les bibliothèques. Testez ce que vous faites avec eux. –
Merci. Heureusement, l'attribut Transaction de SharpArchContrib peut être appliqué au niveau de la classe, et j'applique une interface de marqueur aux services d'application afin qu'ils puissent être installés dans le conteneur IoC. Cela facilite l'utilisation de la réflexion pour tester si le service classe l'attribut. – Dan