13

Mon problème est assez simple, j'ai un serveur CI qui exécute msbuild et mstest. Le problème est que Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll n'existe pas (et je pense à un autre fichier lié à mstest ...) si nous n'installons pas VS dans le serveur qui est assez stupide pour un serveur CI ...Comment utiliser MsTest en intégration continue sans VS?

Quelqu'un at-il une solution à ce problème?

+1

Ils ont un installateur séparé à cette fin maintenant, appelé "Agents pour Visual Studio". Il y en a un pour [2010] (http://www.microsoft.com/en-us/download/details.aspx?id=1334), et pour [2012] (http://www.microsoft.com/fr nous/download/details.aspx? id = 38186). –

Répondre

8

Malheureusement, il n'y a pas pris en charge ou moyen facile autour de devoir installer VS sur la machine d'agent de construction en 2005 ou 2008 (There will be a test agent installer in 2010). MISE À JOUR: See this post from Steve Smith for more info which says pretty much the same thing

Il est pas seulement une question des ensembles étant manquants - si vous voulez exécuter les tests, le coureur est non seulement un peu séparé EXE et DLL.

Oui, difficile à croire! Inutile de dire que très peu d'autres cadres de test sur la planète ont cette restriction, donc à moins que vous avez beaucoup de tests, vous pourriez envisager de déplacer, pour des raisons diverses qui sont couverts dans de nombreux endroits, par exemple: The fundamental problems and impracticality of using MSTest ...

EDIT: Poussé par la réponse de Rihan, je Binged le suivant Running mstest without Visual Studio. - il est pas totalement pris en charge, mais il fonctionne '...

EDIT 2: Running MSTest without Visual Studio - Gallio to the rescue semble beaucoup plus prometteur en termes d'être pris en charge et non hacky. NB voir le commentaire de @Johannes Rudolph sur ce poste quoique

EDIT 3: Ajout d'info re statut 2010 sur cette question

NOTE: J'ai une question similaire pour 2008 en ce qui concerne ce qui est nécessaire pour soutenir le/publier paramètre de MSTest : - Running MSTEST.exe /publish on a TeamBuild server, what are the prerequisites?

+0

Je sais que mstest suce mais il est intégré à VS, et mon client ne veut pas d'autres choses comme nunit ... J'essaye de tester le chemin de Rihan pour l'instant ... Cordialement Loïc – LoKtO

+0

Assez juste. Je comprends. Les autres bonnes approches sont TestDriven.NET, le runner de Gallio GUI, l'interface graphique de NUnit (vous pouvez l'exécuter automatiquement en compilation, ce qui signifie que tout ce que vous avez à faire est de cliquer sur Shift-F6 et quel que soit le test want (basé sur des catégories ou arborescence d'espaces de noms, ou multi-sélection via des cases à cocher) sont relancées instantanément.L'autre chose est de considérer leur routage à NUnit (plus facile à vendre à un magasin MSTEST esprit que xUnit.NET même si je par défaut) et ensuite en utilisant Resharper ou TestDriven.NET pour offrir une expérience supérieure aux tests intégrés de VS. –

+0

Oui, je connais TestDriven.Net mais 10 licences coûtent plus de 1000 $ même chose à propos de resharper mais certains développeurs ont déjà leur licence. Pour le moment, la façon de Rihan fonctionne mais je veux savoir si c'est légitime ou non:/Sinon, j'essaierai de déplacer dev dans NUnit mais ce sera difficile, ils ne veulent déjà pas faire le Test Unit qui est interessé par VS UI donc NUnit ... Mais je vais essayer.Merci pour votre aide et si J'ai une réponse à propos de la légalité et de la licence, ce sera cool :) – LoKtO

0

Nous avons une configuration de régulateur de vitesse sur notre serveur d'intégration. Je n'ai pas installé Visual Studio, mais j'ai copié les assemblages MSTEST dans le GAC. Nous avons ensuite utilisé Cruise Control Documentation pour configurer nos rapports de test. Fonctionne très bien.

+0

Comment MSTEST.EXE est-il arrivé sur la machine? Y a-t-il quelque part qui détaille les étapes de cette partie (et les qhich QT dlls doivent aller dans le GAC). Évidemment, si cela fonctionne, c'est génial ... –

+0

Il s'agit d'un environnement de développement partagé, et une autre personne a eu les MSTests à exécuter, pas sûr de ce qu'ils ont fait pour le faire fonctionner. Ce qui aide aussi, c'est que dans le checkout de notre code source, nous avons un dossier de ressources qui contient des petits outils pratiques comme mstest.exe et tinyget.exe qui aident juste à faire un http après notre build pour vérifier que le site fonctionne. Rend la caisse plus grande, mais cela ne pose aucun problème à ce stade. Toujours à la recherche de moyens plus simples de faire de l'automatisation. –

+0

Je me risquerais à dire que certaines des choses couvertes dans les liens que j'ai ajoutés à ma réponse sont ce qui s'est passé ... Je recommanderais d'utiliser quelque chose comme Gallio, ou de passer à NUnit ou xUnit.NET - surtout si vous re le type de magasin qui a choisi CC.NET vs TeamCity ou VSTS –

2

La solution spécifique pour moi et un Visual Studio 2010 a été:

  1. Installer "Test Agent 2010" de Visual Studio Agents 2010
  2. Redémarrez Windows
  3. Installer Visual Studio 2010 Service Pack 1
  4. Redémarrez Windows
  5. Assurer la projets Les références sont mises à jour pour pointer sur "Microsoft.VisualStudio.QualityTools.UnitTestFramework" "10.1.0.0" et non sur "10.0.0.0".
3

@Ruben Bartelink: Vous pouvez obtenir mstest.exe sur votre machine en installant des agents de test. vous pouvez le trouver @given location. Après l'installation, appelez mstest.exe avec/testcontainer et/options de test. Il fonctionne avec succès et crée des fichiers trx. Vérifiez quelque chose qui peut traiter trx et générer des rapports.

http://www.microsoft.com/en-us/download/details.aspx?id=38186

Questions connexes