Использование минитест-репортеров с TeamCity (минитест-репортеры пытаются переопределить выбор репортера)

Есть ли у кого-нибудь опыт использования минитест-репортеров для правильного вывода тестов в TeamCity?

Я хочу использовать репортер JUnit, и когда я запускаю задачу rake test на своем компьютере, выходные данные правильно отображаются в формате xml в тесте/отчетах. Но когда я запускаю тесты из TeamCity, вместо этого он пытается использовать репортер RubyMine (хотя test_helper указывает репортер JUnit). Я обнаружил, что файл report.rb от mintiest-reporters имеет следующие строки:

 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, но, похоже, это не сработало.

Кто-нибудь решил эту проблему? Или есть какой-то другой репортер, который будет работать лучше (я также попробовал ci_reporter, так как он работает с другими моими проектами с более низкими версиями ruby, но почему-то не с 2.0.0)?


person Kristiina    schedule 15.11.2013    source источник
comment
Хотя я и не пошел по тому же пути, что и вы, несколько месяцев назад я пытался использовать Minitest с TeamCity 8.0.5, но сдался. В настоящее время мы используем Test::Unit, но, возможно, вернемся к этому позже. Согласно этому примечанию службы поддержки: youtrack.jetbrains.com/issue/TW- 19055#comment=27-335987, предполагается, что Minitest будет поддерживаться TeamCity 7.1 с использованием гема minitest-reporters, но документация еще не завершена. Ссылочная документация в комментарии к примечанию о поддержке предназначена для IntelliJ, а не для TeamCity.   -  person Ross Attrill    schedule 13.02.2014
comment
Обратите также внимание на этот комментарий в упомянутом выше комментарии службы поддержки: «Правильная поддержка минитеста невозможна, потому что минитест не поддерживает внедрение средств форматирования».   -  person Ross Attrill    schedule 13.02.2014


Ответы (1)


У меня была именно эта проблема сегодня, и я смог решить ее, отключив 3 переменные среды перед выполнением задачи rake.

Например, у меня есть этап сборки командной строки TeamCity, который в основном выглядит так:

#! /bin/bash
unset TM_PID
unset RM_INFO
unset TEAMCITY_VERSION
rake my_task
person chingc    schedule 14.03.2015