2017-06-19 5 views
0

En ce moment j'ai une solution qui a 3 projets de test d'unité dans Visual Studio 2017 (4.6.2).Consolider les résultats de plusieurs projets de test dans une solution VSTest

J'ai créé TestCategories et j'exécute les tests en utilisant l'invite de commande basée sur TestCategories (catégorie de test simple/catégories de tests multiples en utilisant l'opération "&" dans la commande).

J'ai fait une liste de TestResults, et continue d'ajouter le résultat à la liste dans la méthode TestCleanup dans chaque projet individuel. Cette liste TestResult est globale et peut être consultée sur les 3 projets de test. Une fois terminé, dans le nettoyage d'assemblage, je l'écris dans un fichier Excel et l'envoie à un groupe de courrier électronique de l'organisation. Lorsque je fais cela, je reçois 3 mails de 3 projets de test. Pour éviter cela, j'ai ajouté le code postal dans un seul projet de test et je m'assure que j'effectue un test à partir de ce TestProject (même si je n'ai pas besoin de ce test pour fonctionner).

Maintenant, mon problème est:
Supposons que je 3 TestProjects A, B & C, et je la logique de diffusion dans Nettoyage Assemblée TestProject C.
1. Comme un AssemblyCleanup, pouvons-nous avoir un endroit où nous savons que tous les tests A ou B ou C sont terminés l'exécution des tests?
2. Supposons que si je n'exécute des tests que dans TestProject A, où je n'ai pas la logique de mailing, je ne reçois pas les mails. (Puisque la logique de mailing est disponible dans un projet différent - C.)
3. Si j'ajoute la logique de mailing aux 3 projets (A, B & C), il m'envoie 3 mails. Ce que je dois consolider manuellement.
4. Si j'ai exécuté quelques tests de chaque assemblage (A, B, C). Comment puis-je savoir dans le nettoyage de l'assemblage qu'il y a encore des tests en attente à exécuter dans l'assemblage B ou C? - Sur cette base, je peux exécuter la logique de mailing, s'il y a encore des tests à exécuter depuis d'autres assemblys, je vais l'ignorer dans l'assemblage actuel et laisser cela arriver en B ou C. De même, j'écrirai la même logique 3 assemblages. En faisant cela, je ne recevrai qu'un seul rapport pour tous les tests dans les trois assemblées/projets.

Merci

Répondre

0

Vous pouvez utiliser/Logger: Options TRX pour obtenir le fichier de résultats. Par exemple. vstest.console a.dll b.dll /logger:trx