2010-06-22 38 views
3

我使用TeamCity 5與Git VCS和Visual Studio 2010 SLN構建運行器。TeamCity構建不運行新的XUnit測試

我的解決方案有一個包含許多XUnit 1.5測試的類庫proj。在這個項目上生成後事件運行測試

$(SolutionDir)庫\的xUnit-1.5 \ xunit.console.exe $(SolutionDir)MyTestProj \ $(OUTDIR)\ MyTestProj.dll

這工作正常用於在我的開發機器上運行所有測試,並在TeamCity構建代理上正常運行。

不過,我最近在這個項目中增加了一個新的XUnit測試函數,將它提交給github,這個github被TeamCity接收並運行。但新的測試不包括在運行中。

似乎源被檢出到不同的目錄(例如c:\ checkedoutsource)到我的git存儲庫(c:\ my_source),並且當SLN構建運行器構建我的解決方案時,發佈構建事件'run測試'的目標是c:\ checkedoutsource \ bin \ debug \ MyTestProj.dll而不是c:\ my_source \ bin \ debug \ MyTestProj.dll

任何人都有關於如何讓TeamCity構建我的測試項目和針對新創建的測試組件運行後期構建事件? (無需編寫mahoosive MSBuild腳本文件)。

即可以在構建運行器中設置Visual Studio變量,例如$(SolutionDir)?

希望這是有道理的,感謝

回答

1

在我們的項目中,我們運行* .msbuild文件從不同的目標測試:

<Project defaulttargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <UsingTask AssemblyFile="Library\xUnit\xunit.runner.msbuild.dll" TaskName="Xunit.Runner.MSBuild.xunit"/> 
    <Target Name="Build"> 
     <MSBuild Projects="MyProject.sln" Properties="Configuration=Release"/> 
    </Target> 
    <Target Name="RunTests"> 
     <xunit assembly="Tests\Output\MyProject.Tests.dll" /> 
    </Target> 
</Project> 

我們配置的TeamCity執行兩個目標:構建RunTests

需要注意的是,我們的項目將它們自己在生成後事件中複製到「知名」目錄,但該目錄是相對的。

希望這會有所幫助。

相關問題