在rails中,是否可以为rake测试命令获得颜色突出显示?

Joh*_*ane 8 ruby-on-rails

在rails 3项目目录中从终端运行rake test命令时,测试结果输出不会着色.因此,它无法一目了然地解释.

有没有办法获得结果的颜色输出,因为你可以得到rspec?

>rspec --colour
Run Code Online (Sandbox Code Playgroud)

B S*_*ven 21

我发现redgreen在几年前就被废弃了,并且发现这个解决方案运行良好,不需要脚本黑客攻击.但是,输出显示了实时运行的测试.所以它比内置的测试输出要长很多.它确实有很好的颜色.

http://rubygems.org/gems/turn

在我的Gemfile中:

group :test do
  gem 'turn'
end
Run Code Online (Sandbox Code Playgroud)

然后运行:

$ bundle install
$ rake test
Run Code Online (Sandbox Code Playgroud)

宝石'转'效果很好.需要注意的是,由于猴子修补问题,它似乎不适用于摩卡.如果您使用的是Mocha,则可以使用redgreen gem.请参阅此问题的批准答案中的上述说明.

  • `gem turn`有很多帮助.它适用于Rails 4.0 + Ruby 2.0.我刚刚测试了它. (2认同)

Jai*_*yer 11

是的,你可以使用redgreen gem.将它包含在您的gemfile中:

group :development, :test do
  gem 'redgreen'
end
Run Code Online (Sandbox Code Playgroud)

这就是ruby 1.8所需要的一切.如果你使用的是1.9,那就有一个解决方法.添加测试单元gem:

group :development, :test do
  gem 'redgreen'
  gem 'test-unit', '1.2.3
end
Run Code Online (Sandbox Code Playgroud)

它不是完美的1.9 - 测试单元似乎在每个rake任务或生成器调用之后运行一个空的测试套件,这是无害的但很烦人.