如何在将RSpec测试结果重定向到文件的同时在屏幕显示?
当然有办法啦!这里有两种实用方案,能让你既把RSpec测试结果以JSON格式存到文件,又能在屏幕上实时看到清晰的测试输出:
方案1:配置RSpec多格式器(推荐)
RSpec原生支持同时使用多个输出格式器,你只需要在.rspec文件里新增一个面向控制台的格式器(比如默认的documentation格式,输出可读性很强),同时保留原有的JSON格式配置即可。
修改你的.rspec文件内容如下:
--format documentation --format json --out rspec.json
这样设置后,RSpec会自动把documentation格式的测试日志打印到屏幕,同时将JSON格式的结构化结果写入rspec.json文件,两边互不影响。
如果只是临时需要这种效果,也可以直接在运行命令时指定:
rspec --format documentation --format json --out rspec.json
方案2:用系统
tee命令分流输出 如果你不想改动.rspec的配置,可以借助Unix/Linux系统的tee命令,它能帮你把命令输出同时发送到屏幕和文件。
先把.rspec里的--out rspec.json去掉,只保留--format json,然后运行以下命令:
rspec | tee rspec.json
这种方式会让JSON格式的内容同时显示在屏幕上并写入文件,但屏幕上的输出是JSON结构,可读性不如documentation格式,所以更推荐第一种方案。
内容的提问来源于stack exchange,提问作者fasten
相关产品推荐
相关产品推荐

