【发布时间】:2010-10-21 21:24:56
【问题描述】:
在 rails 3 项目目录中的终端使用 rake test 命令运行 test/unit 时,测试结果输出不着色。因此,不能一目了然。
有没有办法像在 rspec 中那样获得结果的彩色输出?
>rspec --colour
【问题讨论】:
-
为什么只使用 rspec 命令?
-
我使用默认设置并使用测试/单元。
在 rails 3 项目目录中的终端使用 rake test 命令运行 test/unit 时,测试结果输出不着色。因此,不能一目了然。
有没有办法像在 rspec 中那样获得结果的彩色输出?
>rspec --colour
【问题讨论】:
我发现 redgreen 几年前就被废弃了,并且发现这个解决方案运行良好并且不需要脚本破解。然而,输出显示了实时运行的测试。所以它比内置的测试输出要长得多。它确实有漂亮的颜色。
在我的 Gemfile 中:
group :test do
gem 'turn'
end
然后运行:
$ bundle install
$ rake test
宝石“转身”效果很好。需要注意的是,由于猴子补丁问题,它似乎不适用于 Mocha。如果您使用的是 Mocha,则可以使用 redgreen gem。请参阅以上关于此问题的已批准答案中的说明。
【讨论】:
gem turn 有很大帮助。它适用于 Rails 4.0 + Ruby 2.0。我现在刚刚测试过。
是的,您可以使用红绿宝石。将其包含在您的 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 任务或生成器调用之后运行一个空的测试套件,这无害但令人讨厌。
【讨论】:
我正在研究 Rails 5.1 / minitest,我也在寻找一种解决方案来制作报告颜色。这些 test::unit 解决方案都不起作用,所以我用谷歌搜索并看到了这个解决方案。只需添加以下内容:
# Gemfile
gem 'minitest-reporters'
# test/test_helper.rb
require "minitest/reporters"
Minitest::Reporters.use!
【讨论】: