2009-09-16 3 views
5

Einrichten von CI innerhalb von Microsoft Team Foundation Server, ich habe einen Build, der die Lösung erstellen und alle Komponententests innerhalb der Lösung ausführen wird.Fehler TFS-Build bei Einzelgerät Testfehler

Derzeit wird der Build als teilweise erfolgreich angezeigt, wenn der Build erfolgreich ist und ein Unit-Test fehlschlägt. Ich möchte den Build als fehlgeschlagen zeigen, wenn ein Komponententest fehlschlägt.

Kann mir jemand sagen, ob es einen Weg gibt, diese Funktionalität zu erreichen?

Antwort

3

Wenn Sie VS2008 SP1 auf dem Build-Rechner installiert haben, dann können Sie einfach die folgende Eigenschaft auf Ihre TFSBuild.proj Datei hinzufügen:

<TreatTestFailureAsBuildFailure>true</TreatTestFailureAsBuildFailure> 

Wenn Sie nicht SP1 installiert ist und Sie nicht wollen, zu installieren, dann können Sie es auf den altmodischen Weg wie detaillierte here by the Dev Lead on the TFS Build team, Aaaron Hallberg tun:

<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

Sobald ich Team Foundation Server 2008 SP1 installiert und hinzugefügt, um die Eigenschaft, die Sie oben aufgeführt im Abschnitt „Weitere Eigenschaften“ der TFSBuild.proj es hat perfekt funktioniert. Vielen Dank für Ihre Hilfe !!! – Sam

Verwandte Themen