【问题标题】:Putting Console Output from NUnit tests into the xml results将 NUnit 测试的控制台输出放入 xml 结果中
【发布时间】:2012-12-03 22:29:41
【问题描述】:

我们的构建过程会运行一系列针对 Web 服务的集成测试。这些测试中的每一个都会生成一个唯一标识符,Web 服务使用该标识符将日志消息与服务调用进行匹配。标识符在测试期间被写入标准输出。

这在使用 Resharper 在本地运行测试时非常有用,因为它将标准输出输出与单个测试相关联。但是,当从 NUnit 控制台应用程序运行测试时,stdout 输出只能写入控制台,或与结果本身分开的文件,而不是 CruiseControl.NET 用来显示测试结果的 xml 结果文件。

有谁知道在 xml 结果文件中包含内联标准输出以使其显示在 NUnit 详细信息屏幕上的方法?

【问题讨论】:

  • 如何运行 nunit?通过nunit2 或通过exec
  • 通过 exec... nunit2 使用了过时的 nunit 版本

标签: nunit cruisecontrol.net


【解决方案1】:

merge?NUnit 是否生成了一个 xml 文件,您必须将其合并到构建协议中配置 merge publisher,然后才能看到任何输出。

<merge>
  <files>
    <file>Nunit*.xml</file>
  </files>
</merge>

附录 如果您可以将其写入单独的文件foo.txt,您可以随时合并到您的构建协议中。如上所述,您可以轻松地将 xml 文件合并到您的构建协议中,所以唯一的问题是:如何将您的 foo.txt 转换为 foo.xml。在 NAnt 中,您可以使用

加载文本文件
  <loadproperty property="myprop" file="foo.txt"/>
  <xmlpoke file="blank.xml" value="${myprop}" xpath="x/y/z" />

还与http://www.cruisecontrolnet.org/projects/ccnet/wiki/NUnit_Taskhttp://confluence.public.thoughtworks.org/display/CCNET/Using+CruiseControl.NET+with+NUnit 比较

【讨论】:

  • 我合并。但是,xml 文件似乎只包含通过/失败结果以及任何错误消息。它不包括测试运行期间的标准输出流。但是,我可以进入 CCNet 中的构建日志并查看输出。
猜你喜欢
  • 1970-01-01
  • 2011-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多