【问题标题】:Rails colour highlighting for the Test::Unit/rake command?Test::Unit/rake 命令的 Rails 颜色突出显示?
【发布时间】:2010-10-21 21:24:56
【问题描述】:

在 rails 3 项目目录中的终端使用 rake test 命令运行 test/unit 时,测试结果输出不着色。因此,不能一目了然。

有没有办法像在 rspec 中那样获得结果的彩色输出?

>rspec --colour

【问题讨论】:

标签: ruby-on-rails testunit


【解决方案1】:

我发现 redgreen 几年前就被废弃了,并且发现这个解决方案运行良好并且不需要脚本破解。然而,输出显示了实时运行的测试。所以它比内置的测试输出要长得多。它确实有漂亮的颜色。

http://rubygems.org/gems/turn

在我的 Gemfile 中:

group :test do
  gem 'turn'
end

然后运行:

$ bundle install
$ rake test

宝石“转身”效果很好。需要注意的是,由于猴子补丁问题,它似乎不适用于 Mocha。如果您使用的是 Mocha,则可以使用 redgreen gem。请参阅以上关于此问题的已批准答案中的说明。

【讨论】:

  • gem turn 有很大帮助。它适用于 Rails 4.0 + Ruby 2.0。我现在刚刚测试过。
  • 太棒了,谢谢,我喜欢用 3 行代码就可以得到不错的颜色 :-)
  • 这看起来很有希望,但作者决定弃用它,并且不再使用开箱即用的 ruby​​ 4.2.0
  • @markdrake - 哇,这个答案很旧。我不再使用测试单元,但也许不再需要宝石?检查这个 SO 问题:stackoverflow.com/questions/15029071/…
【解决方案2】:

是的,您可以使用红绿宝石。将其包含在您的 gemfile 中:

group :development, :test do
  gem 'redgreen'
end

这就是 ruby​​ 1.8 所需要的一切。如果您使用的是 1.9,则有一种解决方法。添加测试单元gem:

group :development, :test do
  gem 'redgreen'
  gem 'test-unit', '1.2.3
end

1.9 并不完美 - 测试单元似乎在每次 rake 任务或生成器调用之后运行一个空的测试套件,这无害但令人讨厌。

【讨论】:

  • 好的,终于搞定了!感谢你的回答。您需要 1.9 的第二个 gem(测试单元)(在我的情况下为 .2)。仍然更喜欢 gem turn 的输出,但这看起来也不错。为什么把他们放在开发组?
  • 在我的例子中,从 Gemfile 的开发组中删除 redgreen 和 test-unit gem 可以避免不必要的测试套件运行。
【解决方案3】:

我正在研究 Rails 5.1 / minitest,我也在寻找一种解决方案来制作报告颜色。这些 test::unit 解决方案都不起作用,所以我用谷歌搜索并看到了这个解决方案。只需添加以下内容:

# Gemfile
gem 'minitest-reporters'

# test/test_helper.rb
require "minitest/reporters"
Minitest::Reporters.use!

Github: minitest-reporters

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-03-24
  • 2016-07-13
  • 1970-01-01
  • 1970-01-01
  • 2011-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多