【发布时间】:2010-07-28 23:22:03
【问题描述】:
我想在 CruiseControl.NET 构建日志中获取控制台输出以及常规测试结果。我之前从 MSBuild 运行 NUnit 时能够得到这个,但现在直接使用 nUnit 任务时只显示测试结果。有没有办法配置 nUnit 任务,以便将所有测试输出写入构建日志?
【问题讨论】:
我想在 CruiseControl.NET 构建日志中获取控制台输出以及常规测试结果。我之前从 MSBuild 运行 NUnit 时能够得到这个,但现在直接使用 nUnit 任务时只显示测试结果。有没有办法配置 nUnit 任务,以便将所有测试输出写入构建日志?
【问题讨论】:
我不知道如何使用 NUnit 任务来完成,但是使用 exec 任务非常简单。
任务:
<exec>
<executable>C:\Program Files (x86)\NUnit 2.5.6\bin\net-2.0\nunit-console.exe</executable>
<baseDirectory>C:\Tests</baseDirectory>
<buildArgs>C:\Tests\Binaries\MyTests.dll /xml=TestResults.xml /output=TestOutput.txt /err=TestErrorOutput.txt</buildArgs>
<buildTimeoutSeconds>600</buildTimeoutSeconds>
<successExitCodes>0</successExitCodes>
</exec>
出版商:
<merge>
<files>
<file>C:\Tests\*Results.xml</file>
<file>C:\Tests\*Output.txt</file>
</files>
</merge>
【讨论】:
接受的答案似乎是从 CruiseControl.NET 而非 MSBuild 运行 NUnit。这是我在 MSBuild 中运行的代码:
<NUnit Assemblies="@(TestAssemblies)"
ToolPath="$(BuildDir)\Servicing\Binaries\NUnit\2.5.5.10112\"
OutputXmlFile="%(TestAssemblies.FileName)-Results.xml"
/>
然后你可以在 CCNet 中做合并标签来合并输出。
【讨论】: