在ruby文件中:
当我system("rspec file_spec.rb")
时,我得到一个很好的彩色输出。
当我这样做时:
result = `rspec file_spec.rb`
puts result
我根本没有颜色。
有没有办法保留颜色?
顺便说一句,如果重要的话,我在OSX上使用Terminal.app。
答案 0 :(得分:6)
从阅读代码看起来,RSpec在输出流上调用IO#isatty来决定是否对输出着色。在这方面,反引用方法必须与system
不同。
修改强>
如果您将选项--tty
添加到rspec命令:
`rspec --color --tty file_spec.rb`
如this SO question中所述。