如何以JSON格式从我的Rspec测试中获取数据?比如,有多少次测试失败等等。
我知道如果我从ruby运行Rspec,我可以得到它,如here所述 我只是为了方便而粘贴代码。
run(paths)
# runs rspec tests from ruby
# source: https://stackoverflow.com/a/10412793/805156
config = RSpec.configuration
formatter = RSpec::Core::Formatters::JsonFormatter.new(config.output_stream)
# create reporter with json formatter
reporter = RSpec::Core::Reporter.new(config)
config.instance_variable_set(:@reporter, reporter)
# internal hack
# api may not be stable, make sure lock down Rspec version
loader = config.send(:formatter_loader)
notifications = loader.send(:notifications_for, RSpec::Core::Formatters::JsonFormatter)
reporter.register_listener(formatter, *notifications)
RSpec::Core::Runner.run(paths)
formatter.output_hash
end
有没有办法在Rspec测试套件运行时将此json输出写入文件?
答案 0 :(得分:1)
鉴于这只涉及使用特定格式化程序运行,您只需运行
即可rspec --format json > output.json