2009-09-16 13 views
5

Impostazione di CI all'interno di Microsoft Team Foundation Server, ho una build che costruirà la soluzione ed eseguire tutti i test di unità all'interno della soluzione.Fail TFS Costruire su unità singola prova mancata

Attualmente la build mostrerà come parzialmente riuscito se la build è successo e una del test di unità sicuro. Mi piacerebbe mostrare la build come fallita quando un test unitario fallisce.

Qualcuno può dirmi se c'è un modo per realizzare questa funzionalità?

risposta

3

Se avete VS2008 SP1 installato sulla vostra macchina accumulo allora si può semplicemente aggiungere la seguente proprietà al file TFSBuild.proj:

<TreatTestFailureAsBuildFailure>true</TreatTestFailureAsBuildFailure> 

Se non si dispone di SP1 installato e non si vuole per installarlo, allora si può fare il vecchio tracciato antiquato come dettagliato here by the Dev Lead on the TFS Build team, Aaaron Hallberg:

<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

Una volta ho installato team Foundation Server 2008 SP1 e ha aggiunto la proprietà che hai elencato in precedenza nella sezione "proprietà aggiuntive" della TFSBuild.proj ha funzionato perfettamente. Grazie per il vostro aiuto !!! – Sam

Problemi correlati