在TeamCity中使用minitest-reporter(minitest-reporter尝试覆盖记者选择)

时间:2013-11-15 09:52:13

标签: teamcity minitest

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

我想使用JUnit报告器,当我在计算机上运行rake test任务时,输出在xml格式下正确地位于test / reports下。但是当我从TeamCity运行测试时,它会尝试使用RubyMine报告器(尽管test_helper指定了JUnit报告者)。我发现mintlim-reporter的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中指定了另一个reprter(似乎我不能使用RubiMine报告器,因为它试图要求一些TeamCity文件并且无论如何都无法访问它们。

我在调用TEAMCITY_VERSION时试图覆盖rake test,但似乎无效。

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

1 个答案:

答案 0 :(得分:0)

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

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

#! /bin/bash
unset TM_PID
unset RM_INFO
unset TEAMCITY_VERSION
rake my_task