轨道测试没有ANSI颜色,运行Windows 10

时间:2016-07-05 15:15:44

标签: ruby-on-rails

我似乎无法让rails测试以彩色显示。我正在使用rails版本5.0.0.rc2,运行Windows 10.我已经安装了minitest gem,但是我收到了这条消息:

  

ansi:'gem install win32console'在Windows上使用颜色

我确实尝试安装win32console,这没效果。我也注意到不推荐使用win32console,所以我按照建议安装了ansicon,但这也没有帮助。我知道ansicon正在工作,因为我看到了其他动作的颜色,例如运行“bundle install”,但我在测试中仍然变得黑白,以及安装win32console的错误。我在这里错过了什么吗?或者这与测试框架不兼容?任何帮助或见解将不胜感激。如果有帮助,这是我的test_helper.rb文件。

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'minitest/reporters'

Minitest::Reporters.use!

class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  fixtures :all

  # Add more helper methods to be used by all tests here...
end

2 个答案:

答案 0 :(得分:0)

我正在使用Cmder,而不是普通的Window的cmd.exe。但是,如果您安装了ansi gem,或者至少可以给您一个想法,这可能会有效:

找到文件... Ruby22 \ lib \ gems \ 2.2.0 \ gems \ ansi-1.5.0 \ lib \ ansi \ code.rb,注意顶部附近有一个检查Windows平台,编辑这个看起来像这样:

  if RUBY_PLATFORM =~ /(win32|w32)/
if (ENV['ANSICON'])
  $ansi = true
else
  begin
    require 'Win32/Console/ANSI'
  rescue LoadError
    warn "ansi: 'gem install win32console' to use color on Windows"
    $ansi = false
  end
end

您可能需要将“ANSICON”更改为您环境中的类似内容。

答案 1 :(得分:0)

我是rails的新手,只是弄清楚事情,所以这可能是获得此错误的新手理由,但我必须将win32console gem放在我的gemfiles中并运行bundle install。安装宝石不适用于rails,至少对我而言。一旦我做了那种颜色工作正常。我正在运行平台'x64_mingw',这可能与它有关。