9 votes

NUnit - Charge TOUTES les TestCaseSources même si elles ne sont pas requises par le test en cours

J'ai récemment commencé à utiliser NUnit pour effectuer des tests d'intégration pour mon projet. C'est un outil formidable, mais j'ai découvert un inconvénient auquel je n'arrive pas à trouver de solution. Tous mes tests d'intégration utilisent l'attribut TestCaseSource et spécifient un nom de source de cas de test pour chaque test. Le problème est que la préparation de ces sources de cas de test prend un certain temps (~1 min.) et si j'exécute un seul test, NUnit charge toujours TOUTES les sources de cas de test, même si ce n'est pas une source de cas de test pour le test que j'exécute.

Peut-on modifier ce comportement pour que seules les sources du scénario de test pour le test en cours d'exécution soient chargées ? Je veux éviter de créer de nouvelles assemblées à chaque fois que je veux créer un nouveau test (cela semble plutôt superflu et lourd, sans parler de la difficulté à maintenir), puisque j'ai lu que les tests dans les différentes assemblées sont chargés séparément, mais je ne sais pas pour les sources des scénarios de test. Il convient de mentionner que j'utilise Resharper comme exécuteur de tests.

TL;DR : Besoin de dire à NUnit de charger uniquement les TestCaseSources qui sont nécessaires pour les tests en cours d'exécution dans la session actuelle. Le comportement actuel est que TOUTES les TestCaseSources sont chargées pour tous les tests qui sont exécutés.

1voto

Jim Sowers Points 329

Pourriez-vous faire cela en déplaçant l'instanciation des sources vers une méthode d'aide et en les appelant dans les méthodes de configuration pour chaque ensemble de tests ? J'ai souvent un ensemble de méthodes d'aide dans ma suite de tests d'intégration qui configurent des données partagées pour différents tests. Je n'appelle que les méthodes d'aide dont j'ai besoin pour la suite actuelle dans la méthode [Setup].

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X