【问题标题】:TeamCity + MSTest - how to capture generated artifacts?TeamCity + MSTest - 如何捕获生成的工件?
【发布时间】:2015-10-14 09:12:58
【问题描述】:

我找了又找,没用。

如何 TeamCity + MSTest 步骤捕获单元测试输出工件?

我们正在测试目录中填充文件夹/工件 - 我不是在询问 [DeploymentItem] 和朋友

具体来说,我们会在测试运行时生成一堆日志文件,我想保留这些文件以进行历史检查。

目前我们手动检查自动生成的 TestResults 文件夹,这很麻烦,因为我们有多个构建代理,而且 MSTest 有在完成后删除“Out”文件夹的习惯。

我尝试使用 .testsettings 文件完全关闭部署,但 MSTest 仍尝试在其特殊的临时部署目录中执行 - 但其中几乎没有部署任何内容(您可以想象它的效果如何)

编辑:

需要明确的是,问题在于 MSTest 在难以以编程方式预测的文件夹中执行测试,从而使 TeamCity 的工件捕获几乎毫无用处。我的问题是:

如何确定/预测地定位这些可能的工件,然后使用 TeamCity 捕获它们?

【问题讨论】:

  • 明确一点,您在 TeamCity 上找到了日志吗?您只是不确定如何创建一个程序来预测输出的位置?
  • 我可以使用 explorer.exe 在服务器上手动找到日志。与 TeamCity 不同。例如,MSTEST 的工作目录在一种情况下是 buildTmp\"BuildUser_WIN-FB0FUANB08L 2015-08-04 12_47_53"

标签: c# teamcity mstest


【解决方案1】:

要捕获由 TeamCity 构建过程输出的文件,您需要在常规设置/工件路径中指定它们的路径。例如,要选择代理结帐目录根目录中名为 Test Log Files 的文件夹中的所有文件,您可以这样做:

然后将捕获的文件存储为链接到特定构建运行的工件,并且可以从构建的历史记录页面中查看或下载:

工件的保留时间由 TeamCity 的清理规则控制。

Artifact Paths

Clean-Up

【讨论】:

  • 感谢 Paul,但在最初的问题中可能还不清楚,我的问题更多地涉及如何首先识别“测试日志文件”,因为 MSTest 它是一个移动目标。我已经更新了原始问题以使其更清楚
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
相关资源
最近更新 更多