2008-11-13 8 views
22

Quelles sont les étapes à suivre pour que Team Foundation Server exécute des tests unitaires lorsqu'une génération donnée est exécutée? Quelles sont les mises en garde/pièges/solutions de contournement qu'un dev ou sysadmin doit connaître lors de la configuration d'un serveur TFS pour la première fois?Exécution de tests unitaires sur les générations de Team Foundation Server (TFS)

Quelles sont les étapes de dépannage courantes pour les problèmes de test unitaire au cours des générations?

Répondre

11

cela dépend de la version de TFS vous utilisez, donc je suppose qu'il est 2008.

Tout d'abord, vous devez avoir Team Edition pour les testeurs installés sur l'ordinateur qui sera votre agent de build, comme indiqué Dans How To: Create a Build Definition

Il existe plusieurs façons d'indiquer à Team Build d'exécuter des tests pour votre build.

  1. Les tests unitaires peuvent être exécutés à partir d'une liste de tests définie dans la solution en cours de construction. Cette liste est référencée par la définition de construction et tous les tests dans la liste choisie sont exécutés. Plus d'infos here
  2. L'exécution de test WildCard est également disponible en définissant un masque générique (c'est-à-dire Test * .dll) qui demande à Team Build d'exécuter tous les tests présents dans les assemblages correspondant au masque. Ceci est fait lors de la définition de la définition de construction.

choses à noter:

Si vous avez l'intention d'utiliser la méthode générique et souhaitez activer la couverture de code pour votre configuration de test, vous devez ajouter ce qui suit à votre fichier de définition pour l'activer.

<RunConfigFile>$(SolutionRoot)\TestRunConfig.testrunconfig</RunConfigFile> 

Voir ma question précédente sur ce point pour plus d'informations here

+1

Notez que dans VS 2010, l'extension de fichier est maintenant ".testsettings", mais sinon cela fonctionne comme avant. –

4

Si vous ne souhaitez pas utiliser configs de test (une douleur dans le cul pour gérer) il suffit d'exécuter tous les tests dans un .dll ajouter ceci à la config de construction:

<ItemGroup> 
    <TestContainerInOutput Include="MyProject.UnitTests.dll" /> 
</ItemGroup> 

Le processus entier est lisse et assez simple. Vous pouvez inspecter les tests unitaires qui sont effectués sur le serveur de construction en ouvrant le fichier de résultats de test localement (un peu pénible), mais généralement vous allez exécuter les tests unitaires localement et vous pouvez voir les résultats immédiatement.

Si vous êtes habitué à NUnit, vous pouvez choisir de trier les tests par nom de classe, il donne une vue similaire.

Attention avec la couverture de code, il fait des copies complètes de vos binaires sur la compilation. Si vos fichiers binaires sont suffisamment volumineux et que vous les compilez souvent, ils se déplaceront rapidement dans l'espace disque.

+0

Mais la méthode générique vous permet d'exécuter tous les tests de différents projets de test. Imaginez la liste de Ola

Questions connexes