Est-il possible d'exécuter du code après tous les tests de terminer l'exécution de MStest
Je suis en train d'écrire des tests codés de l'interface utilisateur et j'ai l'application de l'ouvrir si elle n'est pas déjà ouvert. Alors si l'un d'eux échoue je ferme l'application, la chose est que j'ai plusieurs tests dans de multiples projets, est-il un moyen pour fermer l'application après tous les tests sont fait de l'exécution? Est-il peut-être quelque chose dans le fichier testSettings?
Si cela permet à tous, tous mes test les classes dérivent d'un codeduiTestBase qui est de savoir comment je l'ai réglé les paramètres de je dois.
Je ne veux pas avoir à ouvrir et à fermer l'application avant et après chaque test s'exécute, car c'est une grande application et il prend trop de temps à charger.
Vous devez vous connecter pour publier un commentaire.
Oui c'est possible. Vous pouvez utiliser le AssemblyCleanup Attribut à cet effet:
Est ici un aperçu de tous les MSTest méthodes organisés selon le moment de l'exécution:
voir: MSTest-Méthodes
IMPORTANT
Quelqu'un qui est à l'aide de la classe de base peut faire l'assemblée de nettoyage, il y a l'
Deux choses importantes ici
1.
[Testmethod] attribut à la base est OBLIGATOIRE
2.
la signature de ApplicationCleanup voir sa un statique méthode
C'est ce que vous êtes fait. J'ai eu dur de temps en difficulté et de les déboguer.
Peut-être ce que vous cherchez est la TestCleanup attribut?
EDIT: Aussi, si vous souhaitez exécuter quelque chose après tous les tests ont été exécutés, le AssemblyCleanupAttribute pourrait être plus approprié.
Si vous voulez juste pour nettoyer après tous les tests à l'intérieur d'une même classe ont terminé, utilisez le ClassCleanup attribut plutôt que de la AssemblyCleanup attribut