以JSON格式获取Rspec测试数据

时间:2015-04-13 06:43:11

标签: ruby json rspec

如何以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输出写入文件?

1 个答案:

答案 0 :(得分:1)

鉴于这只涉及使用特定格式化程序运行,您只需运行

即可
rspec --format json > output.json