web-dev-qa-db-fra.com

Comment profiler les tests unitaires dans Visual Studio 2012?

Est-il possible de profiler MSTest les tests unitaires dans Visual Studio 2012 Ultimate sans utiliser d'outils de profilage externes?

48
alexey

Cette fonctionnalité a été ajoutée dans la prochaine mise à jour trimestrielle Visual Studio 2012 1. Cliquez avec le bouton droit de la souris sur le test que vous souhaitez profiler dans l'Explorateur de tests et sélectionnez "Test du profil" dans le menu contextuel.

54
Oleg Sych

Dans Visual Studio, c’était une fonctionnalité vraiment puissante! Comme vous, je ne la trouve pas dans VS2012 (aucune référence dans MSDN ou dans les blogs, ...)

Maintenant, la seule solution que j'ai trouvée pour le profilage du test unitaire consiste à attacher le profileur à un processus appelé vstest.executionengine.x86.exe (x86 pour moi mais cela pourrait être différent pour 64 bits).

Vous pouvez le faire dans l'onglet "Explorateur de performances" après un clic droit.

enter image description here

Une fois le profileur démarré, vous pouvez exécuter autant de tests que vous le souhaitez. Arrêtez ensuite le profilage et vous verrez tous les détails de cette session.

Il y a 2 mises en garde avec cette technique: 

  • pour certaines raisons, le processus manque dans la liste. Peut-être que ça s'arrête quand il est inactif. Commencez juste un test pour le voir.
  • Vous devez joindre le profileur pour chaque session. Je ne trouve pas encore de moyen de le scripter.

J'espère que ceci vous aidera.

30
Cybermaxs

Dans Visual Studio 2015, suivez les instructions données par Cybermaxs, mais sélectionnez TE.ProcessHost.Managed. Malheureusement, il semble y en avoir deux. Vous devez donc sélectionner celui qui utilise le plus le processeur.

 http://i.stack.imgur.com/1Wko1.png

0
Mateen Ulhaq