Question

De même pour href="https://stackoverflow.com/questions/954943/how-to-use-mstest-in-continous-integration-without-vs"> , je veux MSTest.exe exécuter sur un serveur TeamBuild.

Mon contexte est Piégeage Statut d'erreur dans MSBuild - à savoir, Je ne tente d'utiliser MSTest.exe / publier pour télécharger les résultats dans le référentiel TFS. Ainsi, le plein embrouillamini http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/ est (vous souhaiteriez) susceptible d'être surpuissant, surtout comme MSTest.exe, comme couvert http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/e4575890-8f88-413c-a7f3-0d09d3b9cb01 suggère tout ce que je dois faire est d'installer Team Explorer.

J'ai installé VS2008 Team Explorer SP1 et MSTest.exe /? encore isnt me dire sur les options de publication.

Rappelons qu'il dit que Team Explorer est nécessaire de MSTest.exe /? pour la publication:

  

Les options suivantes sont également disponibles si Team Explorer est installé:

     

/ publication: [nom du serveur] Publier les résultats à la Team Foundation                                       Serveur.

     

/ publishbuild: [construire nom] L'identificateur de construction à utiliser pour publier                                       les résultats des tests.

     

/ publishresultsfile: [nom du fichier] Le nom du fichier de résultats de test pour                                       publier. Si aucun n'est spécifié, utilisez la                                       fichier produit par le test en cours.

     

/ TeamProject: [nom du projet d'équipe] Le nom du projet d'équipe à laquelle la                                       la construction appartient. Préciser lors de la publication                                       les résultats des tests.

     

/ Plate-forme: [plate-forme] La plate-forme de la construction contre laquelle                                       de publier les résultats des tests.

     

/ saveur: [saveur] La saveur de la construction contre laquelle                                       de publier les résultats des tests.

Je vais sur le chemin de procmon.exe pour comprendre ce qui manque, mais idéalement une personne au courant interviendrait et réponse: -

devrait MSTest.exe / publish ne nécessitent Team Explorer comme indiqué, ou at-il besoin d'VSTT et Team Explorer?

Était-ce utile?

La solution

La / option Publier de MSTest.exe effectue une vérification de licence pour assurer qu'une version « équipe » de Visual Studio est installé (à savoir l'édition Developer ou Test) avant qu'il ne la publie une partie du code.

Cette restriction semble avoir été mis en place pour permettre aux capacités de tests unitaires de base en version standard de Visual Studio, mais vous oblige à avoir une des éditions de l'équipe plus chers de Visual Studio pour activer les fonctions liées « Team » dans les tests - tels à publier vos résultats de test à TFS.

Au total il y a 3 fonctionnalités manquantes si vous ne disposez pas d'une édition d'équipe de Visual Studio avec Epxlorer équipe installée.

  • Publication à TFS
  • Couverture de code
  • Connectez-vous à l'agent distant.

Si vous avez l'édition de développement installé, vous obtiendrez publier et mais pas les couverture de code des capacités d'agent d'agent à distance (à savoir pour faire lesting de charge).

Le test édition et Visual Studio Team Suite ont tout.

Si vous souhaitez voir un exemple d'une tâche MSBuild personnalisée qui utilise MSTest.exe pour publier des données de tests unitaires à partir d'un serveur de build (dans cet exemple des données de test JUnit), alors jetez un oeil à la page Teamprise Extensions que je Construire écrit. Le code source pour ces derniers est disponible sous MS-PL du permissive

Autres conseils

J'ai lu sur les forums MSDN que la fonctionnalité de MSTest /publish nécessite l'achat soit développeur VS équipe ou édition test VS équipe. Toutes les éditions moins telles que l'explorateur standard / professionnel ou une équipe ne l'ont pas.

Je voudrais vraiment voir plus de preuves si, comme il semble assez déraisonnable que, avec « standard » VS2008 vous pouvez écrire et les tests unitaires d'exécution, mais vous ne pouvez les exécuter arbitrairement sur votre machine de construction: - (

Pour répondre à la question:

  

devrait MSTest.exe / publier seulement besoin Team Explorer, ou at-il besoin d'VSTT et Team Explorer?

Il semble qu'il exige VSTT (que je suppose que signifie édition équipe testeur de visual studio)

Eh bien, le message que vous obtenez lors de l'exécution est en fait très mstest.exe /? induire en erreur. Il vous dit que Team Explorer est tenu de publier vos résultats de test, mais malheureusement installer Team Explorer ne change rien. Comme Martin a déclaré, MSTEST effectue une vérification de licence pour assurer cette édition appropriée de Visual Studio est installé et donc « / publier » et d'autres commutateurs ne sont pas disponibles.

Et par édition « appropriée » MSTEST signifie Premium ou Intégrale, pas sûr d'autres éditions.

Microsoft indique que vous devez installer Visual Studio sur votre serveur pour avoir un CI entièrement en vedette et c'est la seule solution officielle et pris en charge, mais si vous n'aimez vraiment pas ce concept (et je ne suis pas), vous pouvez faire MSTEST pense que Visual studio est installé sur votre serveur.

Il suffit d'exporter certaines clés de registre de votre machine de développement à votre serveur CI et le tour est joué! - MSTEST publie des résultats de test à TFS. Les clés de registre sont à HKLM\SOFTWARE\Microsoft\VisualStudio\12.0\Licenses ou à HKLM\Software\Wow6432Node\Microsoft\VisualStudio\12.0\Licenses en fonction de votre système.

Vous pouvez trouver plus de détails sur cette solution ici: http://blog.foxxtrot.net/2010 /02/hacking-mstest-out-of-visual-studio.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top