我是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仪表板?
答案 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>