2009-04-01 9 views
3

Nous avons configuré TFS pour qu'il s'établisse automatiquement lors de l'archivage, cela fonctionne correctement.Exécution de tests automatisés sur TFS 2008

Notre problème est de savoir comment faire fonctionner les tests unitaires sur le serveur.

  1. Comment exécuter des tests sur le serveur de génération?
  2. Comment exécuter automatiquement des scripts SQL sur le serveur pour créer la base de données de test?
  3. Avons-nous besoin d'installer Visual Studio sur Build Server?
  4. Avons-nous besoin de Visual Studio Test Edition sur le client?

Répondre

0

Si vous souhaitez exécuter NUnit-Tests, vous devez configurer une tâche MSBuild que vous incluez dans votre fichier Build-.proj. Si vous voulez exécuter les tests VS-Integrated, il existe des tâches préconfigurées dans le Build-Script par défaut. Les échantillons sont (commentés) dans votre fichier Build-.proj généré.

Vous pouvez généralement exécuter ce que vous voulez dans votre build. Il s'agit simplement de créer les MSBuild-Tasks et de les intégrer dans le script de construction existant, déjà extensible à plusieurs endroits. La description de MSBuild est trop pour répondre ici. Reportez-vous aux diverses sources Web sur MSBuild.

Vous devez installer tout ce qui est nécessaire pour exécuter les tests sur la machine de construction. NUnit pour NUnit-Tests, VS Test Edition pour Loadtests et Webtests, et ainsi de suite. Ce que vous installez sur un client ne présente aucun intérêt pour le Build-Server.

1

Ouvrez votre fichier TeamBuildType (TFSBuild.proj). Là, vous verrez un commentaire comme celui ci-dessous ...

<!-- TEST ARGUMENTS 
If the RunTest property is set to true then the following test arguments will be used to run 
tests. Tests can be run by specifying one or more test lists and/or one or more test containers. 

To run tests using test lists, add MetaDataFile items and associated TestLists here. Paths can 
be server paths or local paths, but server paths relative to the location of this file are highly 
recommended: 

    <MetaDataFile Include="$(BuildProjectFolderPath)/HelloWorld/HelloWorld.vsmdi"> 
     <TestList>BVT1;BVT2</TestList> 
    </MetaDataFile> 

To run tests using test containers, add TestContainer items here: 

    <TestContainer Include="$(OutDir)\HelloWorldTests.dll" /> 
    <TestContainer Include="$(SolutionRoot)\TestProject\WebTest1.webtest" /> 
    <TestContainer Include="$(SolutionRoot)\TestProject\LoadTest1.loadtest" /> 

Use %2a instead of * and %3f instead of ? to prevent expansion before test assemblies are built 
--> 
Questions connexes