2009-09-16 19 views
5

Konfigurowanie CI w ramach Microsoft Team Foundation Server, Mam kompilację, która zbuduje rozwiązanie i wykona wszystkie testy jednostkowe w ramach rozwiązania.Fail TFS Build na niepowodzenie testu jednostkowego

Obecnie kompilacja będzie pokazywana jako częściowo udana, jeśli kompilacja się powiedzie i nie powiedzie się test jednostkowy. Chciałbym pokazać kompilację jako nieudaną, gdy test jednostkowy zawodzi.

Czy ktoś może mi powiedzieć, czy istnieje sposób na wykonanie tej funkcji?

Odpowiedz

3

Jeśli VS2008 SP1 zainstalowany na komputerze build następnie można po prostu dodać następującą właściwość do pliku TFSBuild.proj:

<TreatTestFailureAsBuildFailure>true</TreatTestFailureAsBuildFailure> 

Jeśli nie mają SP1 zainstalowany i nie chcesz aby go zainstalować, a następnie można zrobić to starą trasą wykończonych tak szczegółowy 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

Raz zainstalowany Team Foundation Server 2008 SP1 i dodano właściwość ty wymienione powyżej w sekcji „właściwości dodatkowe” z TFSBuild.proj działało idealnie. Dziękuję za pomoc! – Sam

Powiązane problemy