2009-09-16 6 views
5

Configuration de CI dans Microsoft Team Foundation Server, j'ai une version qui va générer la solution et exécuter tous les tests unitaires dans la solution.Échec de l'Échec du test TFS sur une seule unité

Actuellement, le build affichera partiellement réussi si la compilation réussit et qu'un test d'unité échoue. Je voudrais montrer la construction comme échouée quand un test unitaire échoue.

Quelqu'un peut-il me dire s'il existe un moyen d'accomplir cette fonctionnalité?

Répondre

3

Si vous avez VS2008 SP1 installé sur votre machine de construction, vous pouvez simplement ajouter la propriété suivante dans votre fichier TFSBuild.proj:

<TreatTestFailureAsBuildFailure>true</TreatTestFailureAsBuildFailure> 

Si vous n'avez pas SP1 installé et que vous ne voulez pas pour l'installer, vous pouvez le faire l'ancienne route façonné comme here by the Dev Lead on the TFS Build team, Aaaron Hallberg détaillée:

<Target Name="AfterTest"> 

    <!-- Refresh the build properties. --> 
    <GetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
         BuildUri="$(BuildUri)" 
         Condition=" '$(IsDesktopBuild)' != 'true' "> 
     <Output TaskParameter="TestSuccess" PropertyName="TestSuccess" /> 
    </GetBuildProperties> 

    <!-- Set CompilationStatus to Failed if TestSuccess is false. --> 
    <SetBuildProperties TeamFoundationServerUrl="$(TeamFoundationServerUrl)" 
         BuildUri="$(BuildUri)" 
         CompilationStatus="Failed" 
         Condition=" '$(IsDesktopBuild)' != 'true' and '$(TestSuccess)' != 'true' "> 

    </Target> 
+0

Une fois que j'ai installé Team Foundation Server 2008 SP1 et a ajouté que vous avez énumérés ci-dessus la propriété dans la section « Propriétés supplémentaires » du TFSBuild.proj ça a fonctionné parfaitement. Nous vous remercions de votre aide !!! – Sam

Questions connexes