我试图让 watchr 在文件更改时自动运行测试,并且得到了我需要的大部分工作,除了来自 RSpec 的所有 ANSI 颜色都被忽略的事实。违规代码如下:
stdin, stdout, stderr = Open3.popen3(cmd)
stdout.each_line do |line|
last_output = line
puts line
end
当 cmd 等于类似的东西时rspec spec/**/*.rb
,上面的代码运行 RSpec 很好,除了所有输出都是单色的。我已经研究过使用Kernel.system
,但是系统没有返回我需要确定测试是否失败/成功的输出。如何获取从 Ruby 中执行的脚本的输出,包括 ANSI 颜色并将其输出到控制台?