我使用帮助程序脚本执行rspec
测试。
command = "rake spec #{path} #{scope}"
output = `#{command}`
puts output
这很好,除了我丢失了rake rspec
输出中的所有颜色。相应的ANSI代码似乎不包含在output
字符串中。
如何执行流程以便返回包含文本颜色的输出?
答案 0 :(得分:1)
Kernel.exec()
为我提供了我想要的解决方案(彩色rspec输出),但它通过使用rspec进程替换我的ruby脚本进程来实现。这意味着我无法对output
执行任何操作或在rspec调用后运行任何内容。
在我的特殊情况下,这是可以接受的,但作为一般解决方案并不理想。如果有的话,我想要一个更好的答案。
答案 1 :(得分:0)
如果RSpec没有写入tty(即控制台),RSpec将禁用颜色。
如果是RSpec,您可以rspec --tty
强制着色,或rake spec SPEC_OPTS=' --tty'
强制着色。
然而,此解决方案仍然特定于Rspec。我有兴趣听一般的。