Cruise Control.NET文件合并NUnit文件 - 获取XmlException

时间:2009-09-03 17:56:49

标签: msbuild cruisecontrol.net cruisecontrol msbuildcommunitytasks

我是Cruise Control的新手。我正在运行一个项目,我使用MSBuild文件来构建我的项目。我在MSBuild社区任务项目中使用NUNit任务来运行我的所有单元测试,并使用此命令输出带有测试结果的xml文件:

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

这很有效。现在,我试图通过使用此命令进行文件合并,将这些结果显示在Cruise Control Web仪表板中:

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

当我这样做时,构建仍然完成,但我在Cruise Control控制台中得到一个异常,它也显示在日志中:

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仪表板?

2 个答案:

答案 0 :(得分:1)

尝试

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

答案 1 :(得分:0)

以下对我有用,虽然我使用NAnt来触发NUnit,而不是MSBuild:

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