2009-04-14 13 views
0

我知道在博客文章後有幾十個關於此問題和博客的問題,但是有人可以將最簡單的答案(或者存在適當答案的情況下的現有問題鏈接)用於Visual Studio 2005:要讓NUnit測試與Visual Studio常規構建集成,最低要求是多少?

  1. NUnit的測試執行上的Visual Studio 普通版本(例如最小,以現有的* .proj NUnit的文件中包含的MSBuild編譯的變化來獲得)。如果它不會過度複雜化,是否有一種將MSBuild社區任務項目用作二進制文件而不是安裝在每個開發機器上的好方法?

  2. 測試失敗顯示在錯誤列表/警告中。

  3. 測試失敗暫停發佈編譯。

感謝您的幫助!

回答

1

要正確地做到這一點,您可能需要某種持續集成服務器,如TeamCity或Cruise Control。

您可以然後使用以下

<!--BEGIN RUNNING UNIT TESTS--> 
    <Choose> 
    <When Condition=" '$(Configuration)' == 'Release' "> 
     <ItemGroup> 
     <TestAssemblies Include="$(BuildDir)\Builds\Release\BusinessLayer.Tests.dll" /> 
     <TestAssemblies Include="$(BuildDir)\Builds\Release\ResourceAccessLayer.Tests.dll" /> 
     </ItemGroup> 
    </When> 
    <Otherwise> 
     <ItemGroup> 
     <TestAssemblies Include="$(BuildDir)\Builds\Debug\BusinessLayer.Tests.dll" /> 
     <TestAssemblies Include="$(BuildDir)\Builds\Debug\ResourceAccessLayer.Tests.dll" /> 
     </ItemGroup> 
    </Otherwise> 
    </Choose> 
    <UsingTask TaskName="NUnit" AssemblyFile="$(teamcity_dotnet_nunitlauncher_msbuild_task)" /> 
    <Target Name="Test" DependsOnTargets="Build"> 
    <NUnit NUnitVersion="NUnit-2.4.6" Assemblies="@(TestAssemblies)" /> 
    </Target> 
<!--RUNNING UNIT TESTS--> 

添加NUnit的測試,您的MSBuild腳本您可以將條件添加到目標,如果配置版本,任務失敗,那麼則構建失敗。

我想這應該覆蓋點1和3

編輯:其他的方式做這將是運行NUnit的測試使用Visual Studio中的前/後生成步驟,thisthis可能會有幫助。

希望這有助於

+0

嗨,但這不會使用普通的Visual Studio生成會嗎?即開發人員需要爲CruiseControl等安裝一個客戶端,然後在Visual Studio之外進行構建? – 2009-04-15 01:00:59

1

您可以輕鬆地TeamCity做到這一點。你甚至不需要使用MSBuild; TeamCity可以從解決方案文件構建,並可以配置爲運行NUnit測試。它執行您在第2點列出的所有功能,並創建趨勢圖和報告。

相關問題