【发布时间】:2014-07-15 17:53:37
【问题描述】:
我有一个 ruby 脚本,它需要执行 rspec 测试并收集结果。 我正在使用标准 rspec API 来实现这一点:
require 'rspec'
require 'rspec/core'
require 'rspec/core/formatters/json_formatter'
require 'json'
def run_test(test_location)
config = RSpec.configuration
json_formatter = RSpec::Core::Formatters::JsonFormatter.new(config.output)
reporter = RSpec::Core::Reporter.new(json_formatter)
config.instance_variable_set(:@reporter, reporter)
begin
::RSpec::Core::Runner.run([test_location,'--format','j'])
json_formatter.output_hash
rescue Exception => e
e.message
end
end
run_test(<PATH_TO_RSPEC_TEST_SCRIPT>)
现在,当 rspec 测试失败时,我只能收到错误消息,但我想从失败的底层 rspec 测试中获取回溯。有没有办法做到这一点? 我尝试将参数: --backtrace 或 -b 传递给传递给 RSpec::Core::Runner.run 方法的数组,但没有得到太多帮助
提前致谢
【问题讨论】: