2009-08-25 4 views
2

J'ai 13 assemblages d'architecture séparés mais liés, et 13 assemblages de test NUnit distincts, chacun contenant tous les montages de test pour son ensemble d'architecture correspondant. J'utilise NUnit 2.5.2 (dernière version actuellement).Assemblages de test NUnit multiples, chacun nécessitant une configuration différente. Comment puis-je faire en sorte que NUnit les exécute tous en même temps?

Je peux exécuter chaque ensemble de test séparément dans l'interface graphique NUnit et tous les tests sont réussis. Cependant, quand je viens de les combiner dans un seul fichier de projet NUnit, NUnit insiste sur l'application d'un seul fichier de configuration à l'ensemble du test. Cela ne fonctionnera pas car chaque assemblage de test nécessite une configuration différente. Je ne peux pas les fusionner en un fichier "uber-config" car certaines sections sont mutuellement exclusives. J'ai essayé d'exécuter chaque assembly dans le projet dans AppDomains distincts et également des processus distincts, mais dans les deux cas, il ne parvient pas à utiliser le fichier de configuration spécifique à DLL, de sorte que tous les tests planter et graver.

J'ai fait une recherche Google mais jusqu'à présent, je n'ai trouvé aucune indication que NUnit supporte ce scénario. Ai-je raison, ou ai-je manqué quelque chose?

J'ai fait de mon mieux pour ré-architecturer les tests afin qu'ils puissent partager le même fichier de configuration, mais j'ai dû admettre la défaite sur ce front.

Répondre

1

Dans le passé, je l'ai fait avec un fichier batch exécutant chaque ensemble à travers la console nunit indépendamment. À un moment donné, j'avais quelque chose qui a fusionné la sortie xml ensemble. Il pourrait être dans le code CruiseControl.Net.

Je n'ai pas travaillé sur le projet NUnit depuis un moment. Je n'ai que l'ancien code dans ma tête. Mais le problème est que vous obtenez une config par AppDomain et que NUnit charge tous les assemblages de test dans un AppDomain.

Vous pouvez essayer des coureurs de remplacement tels que ReSharper ou TestDriven.net

+0

Merci Mike. J'ai regardé TestDriven.NET, qui m'a conduit sur MBUnit, ce qui m'a conduit sur Gallio. J'ai essayé de créer un projet Gallio à partir des assemblages de test NUnit, et tous les tests exécutés avec succès dans celui-ci (une fois que j'avais enlevé tous mes montages d'installation que Gallio refuse de lancer). Je vais probablement basculer entre les interfaces graphiques NUnit et Gallio, car l'interface graphique de NUnit a de meilleurs rapports d'erreurs. –

6

NUnit 2.5 a pour où vous pouvez permettre à chaque assemblage de fonctionner dans un AppDomain distinct. En faisant cela, NUnit chargera la config pour l'assembly et pas celle pour le projet .nunit.

Pour plus d'informations, voir ici:

http://nunit.org/index.php?p=settingsDialog&r=2.5

+0

J'étais en train d'écrire une question similaire, mais mon problème était que j'avais besoin d'utiliser différentes versions de DLL dépendantes, pas de fichiers de configuration différents. J'ai vu ça et l'ai essayé. Fonctionne parfaitement. Merci! –

Questions connexes