1

我是Cruise Control的新手。我正在運行一個項目,我使用MSBuild文件來構建我的項目。我使用NUnit的任務中的MSBuild社區任務項目運行我所有的單元測試,輸出與測試結果與此命令的XML文件:Cruise Control.NET文件合併NUnit文件 - 獲取XmlException

<NUnit Assemblies="@(OutputFiles)" WorkingDirectory="$(UnitTestResultsLocation)" 
     OutputXmlFile="$(UnitTestResultsLocation)\$(ProjectNameSpace).UnitTests.xml" 
     ToolPath="$(NUnitToolPath)" 
     ContinueOnError="true" /> 

這個偉大的工程。現在,我試圖讓這些結果做一個文件合併使用此命令在巡航控制網絡信息中心顯示:

<publishers> 
    <merge> 
     <file>C:\CC\Project1\Code\UnitTestResults\Project1TestResults.UnitTests.xml</file> 
    </merge> 
    </publishers> 

當我這樣做,構建仍然完成,但我在得到一個異常巡航控制檯,這也顯示在日誌中:

2009-09-03 13:44:57,310 [Project1:DEBUG] Exception: System.Xml.XmlException: Name cannot begin with the '.' character, hexadecimal value 0x2E. Line 837, position 36. 

我該怎麼處理這個錯誤?我怎樣才能將我的NUnit測試結果放入Cruise Control儀表板?

+0

是您的語法正確的合併部分?我相信它應該是'';請參閱:http://confluence.public.thoughtworks.org/display/CCNET/File+Merge+Task – 2009-09-03 18:07:06

+0

第837行,Project1TestResults.UnitTests.xml中的位置36的輸出是什麼? – 2009-09-03 18:08:51

+0

@LSFR Consulting這是我檢查的第一件事 - 但它只有385行。 – 2009-09-03 18:22:37

回答

1

嘗試

<merge> 
     <files> 
      <string>C:\CC\Project1\Code\UnitTestResults\Project1TestResults.UnitTests.xml</string> 
     </files> 
    </merge> 
0

以下工作對我來說,雖然我使用惡性觸發NUnit的,不是的MSBuild:

<publishers> 
     <merge> 
      <files> 
       <file>C:\Projects\SomeApp\CI\TestResult.xml</file> 
      </files> 
     </merge> 
     <xmllogger /> 
    </publishers>