我正在将日志记录添加到测试套件中。它使用Ruby,Cucumber和Rspec来运行。我已经设置了一个env.rb来记录每个测试,并且可以捕获场景和步骤并将其放到记录器中,但是如何获取实际结果却不知所措。
每次试运行都会显示类似的内容
1 scenario (1 passed)
27 steps (27 passed)
0m0.176s
进入控制台。
我知道我可以使用“先做|场景|”来获取功能名称,场景名称,标签和步骤。在下面,但无论如何我都找不到访问结果。
$logger.level = :info
$logger.add_appenders \
Logging.appenders.stdout,
Logging.appenders.file("logging/#{Time.now.strftime("%m-%d-%Y--%H:%M")}.log")
user = `id -un` #Mac specific, sorry windows users
user.delete!("\n")
$logger.debug "Test run by #{user} on #{Time.now.strftime("%m/%d/%Y")}"
Before do |scenario|
@feature_name = scenario.feature.name
@scenario_name = scenario.name
@scenario_tags = scenario.source_tag_names
$logger.info "FEATURE: #{@feature_name}"
$logger.info "SCENARIO: #{@scenario_name}"
$step_index = 0
$stop_count = scenario.test_steps.count
@scenario = scenario
end
AfterStep do |step|
if $step_index < $stop_count
$logger.info "#{@scenario.test_steps[$step_index].text}\n"
end
$step_index += 2
end
它需要输出到.log,这就是为什么我到目前为止避免使用html报表构建器的原因。
答案 0 :(得分:0)
发现这正是我所需要的
AfterConfiguration do |config|
config.on_event :test_case_finished do |event|
p event.result
end
end