我正在嘗試配置CruiseControl .net以定期構建我們的存儲庫代碼並運行解決方案中包含的測試。我已經從svn服務器和構建部分配置了檢索代碼。但是我無法對它進行測試。 MSBuild不斷抱怨。MSBuild運行單元測試
錯誤MSB4057:項目中不存在目標「測試」 。
我也嘗試通過命令行運行測試,看看是否適用於相同的錯誤。我用:MSBuild.exe TestProject.csproj /噸:測試
我的配置是這樣的:
<tasks>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\WorkingDir\build\MainProject</workingDirectory>
<projectFile>MainProject.csproj</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Build</targets>
<timeout>900</timeout>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe</executable>
<workingDirectory>C:\WorkingDir\build\TestProject</workingDirectory>
<projectFile>TestProject.csproj</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Debug /v:diag</buildArgs>
<targets>Test</targets>
<timeout>900</timeout>
<logger>C:\Program Files (x86)\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MSBuild.dll</logger>
</msbuild>
</tasks>
我將不勝感激任何暗示了正確的方向。
抱歉不清楚。是的,我的測試項目是MSTest類型(使用VS 2010)。我想這意味着我不能運行測試,除非我在生成服務器上安裝了visual studio。有沒有解決辦法?我的意思是在構建服務器上安裝Visual Studio似乎擊敗了目的不是嗎? – shake 2010-08-12 13:32:03
在2010年,至少應該有一個獨立的MSTest構建服務器安裝程序(不確定是否發生了這種情況 - 這對你來說很有用,並且可以對其答案進行評論......) 請參閱http:// stackoverflow。 com/questions/954943/how-to-use-mstest-in-continuous-integration-without-vs/954979#954979和http://stackoverflow.com/questions/1062994/running-mstest-exe-publish-on- a-teambuild-server-what-the-the-prerequisites(但你沒有說你是否使用2010)。 MSTest就像一盒青蛙一樣瘋狂 - 由於這樣的瘋狂,你會在這個地方看到很多來自我的xUnit.net海圖。 – 2010-08-12 15:55:11
是的,我正在使用VS 2010.我最終轉而使用nunit。有一個選項可以安裝Visual Studio測試版的測試版,但是nunit看起來更簡單。而且從MSTest遷移到這個界面非常容易。感謝您的幫助 – shake 2010-08-18 16:01:43