2016-10-24 4 views
3

J'ai écrit des tests d'automatisation dans Specflow 2.0, nUnit 3.X, TeamCity et Visual Studio 2013. J'essaie d'exécuter les tests en parallèle mais ils échouent parce que le code utilise des tests statiques classes/objet.Specflow comment implémenter l'isolation AppDomain avec Nunit 3

Sur le site Specflow la recommandation est d'exécuter fil des tests de sécurité (si l'architecture dépend de l'état statique) à l'aide EXECUTION PARALLELE AVEC MEMOIRE (AppDomain) ISOLEMENT http://www.specflow.org/documentation/Parallel-Execution/

Mais il n'y a pas d'information quant à la façon faites ceci et même googling je ne pourrais trouver aucun article pertinent.

Je suis vraiment reconnaissant si quelqu'un peut m'aider à comprendre comment nous faisons cela.

Merci pour votre aide, Satty

Répondre

0

Comment configurer l'isolement dépend du coureur de test que vous utilisez.
Je ne suis pas sûr à 100% que NUnit prend en charge l'isolement appdomain, mais un bon point de départ pour savoir serait la documentation d'attribut parallélisables: https://github.com/nunit/docs/wiki/Parallelizable-Attribute

AppDomain ou la séparation des processus est possible si vous utilisez le SpecFlow + Runner (http://www.specflow.org/plus/).
Voici un blogpost des différents modes dans le SpecFlow + Runner: https://the-engineers.net/2016/04/08/using-specflowrunners-parallelization-features/


Full Disclosure: Je suis l'un des développeurs de SpecFlow + Runner

+0

Merci Andreas, je suis en mesure d'exécuter plusieurs threads mais le problème est que les tests ne sont pas sûrs, ce que j'essaie d'accomplir. Malheureusement le specflow + est payé et j'essaierais de faire ce travail sans ça si je peux d'abord. – SoMuchtoLearn

+0

En tant que responsable de NUnit, je peux vous dire que l'exécution parallèle de NUnit ne prend pas en charge l'isolation de AppDomain pour les tests en parallèle, uniquement pour le test lui-même. C'est une bonne idée pour une fonctionnalité, mais étant donné que .NET Core ne prendra pas en charge la création de domaines d'application de sitôt, il sera moins important sur nos priorités. –