如何从ruby中的反引号命令中获取颜色?

时间:2011-02-22 13:48:22

标签: ruby console rspec terminal

在ruby文件中:

当我system("rspec file_spec.rb")时,我得到一个很好的彩色输出

当我这样做时:

result = `rspec file_spec.rb`
puts result

我根本没有颜色。

有没有办法保留颜色

顺便说一句,如果重要的话,我在OSX上使用Terminal.app。

1 个答案:

答案 0 :(得分:6)

从阅读代码看起来,RSpec在输出流上调用IO#isatty来决定是否对输出着色。在这方面,反引用方法必须与system不同。

修改

如果您将选项--tty添加到rspec命令:

,则此方法有效

`rspec --color --tty file_spec.rb`

this SO question中所述。