1

有没有人有使用 minitest-reporters 在 TeamCity 上进行正确测试输出的经验?

我想使用 JUnit 报告器,当我rake test在我的计算机上运行任务时,输出在 test/reports 下是正确的 xml 格式。但是当我从 TeamCity 运行测试时,它会尝试使用 RubyMine 报告器(尽管 test_helper 指定了 JUnit 报告器)。我发现 mintiest-reporters 的 reports.rb 文件有以下几行:

 def self.choose_reporters(console_reporters, env)
  if env["TM_PID"]
    [RubyMateReporter.new]
  elsif env["RM_INFO"] || env["TEAMCITY_VERSION"]
    [RubyMineReporter.new]
  else
    Array(console_reporters)
  end
end

并且似乎在给出这些环境变量时默认选择了 RubiMine 报告器,尽管我在 test_helper 中指定了另一个报告器(而且似乎我无法使用 RubiMine 报告器,因为它试图需要一些 TeamCity 文件并且它们以某种方式无法访问)。

我试图TEAMCITY_VERSION在调用时覆盖,rake test但它似乎不起作用。

有没有人解决过这个问题?或者是否有其他一些可以更好地工作的记者 gem(我也尝试了 ci_reporter,因为它适用于我的其他具有较低 ruby​​ 版本但不知何故不适用于 2.0.0 的项目)?

4

1 回答 1

0

我今天遇到了这个确切的问题,并且能够通过在执行 rake 任务之前取消设置 3 个环境变量来解决它。

例如,我有一个 TeamCity 命令行构建步骤,基本上如下所示:

#! /bin/bash
unset TM_PID
unset RM_INFO
unset TEAMCITY_VERSION
rake my_task
于 2015-03-14T05:27:47.530 回答