捕获和记录黄瓜测试结果
Capturing and logging cucumber test results
我正在将日志记录添加到测试套件中。它使用 Ruby、Cucumber 和 Rspec 到 运行。我已经设置了一个 env.rb 来记录每个测试,并且可以捕获场景和步骤并将它们放入记录器中,但我不知道如何获取实际结果。
每个测试运行都会放一些类似
的东西
1 scenario (1 passed)
27 steps (27 passed)
0m0.176s
进入控制台。
我知道我可以使用 Before do |scenario| 获取功能名称、场景名称、标签和步骤下面,但我无法找到访问结果的方法。
$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 报告生成器的原因。
发现这正是我需要的
AfterConfiguration do |config|
config.on_event :test_case_finished do |event|
p event.result
end
end
我正在将日志记录添加到测试套件中。它使用 Ruby、Cucumber 和 Rspec 到 运行。我已经设置了一个 env.rb 来记录每个测试,并且可以捕获场景和步骤并将它们放入记录器中,但我不知道如何获取实际结果。
每个测试运行都会放一些类似
的东西 1 scenario (1 passed)
27 steps (27 passed)
0m0.176s
进入控制台。
我知道我可以使用 Before do |scenario| 获取功能名称、场景名称、标签和步骤下面,但我无法找到访问结果的方法。
$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 报告生成器的原因。
发现这正是我需要的
AfterConfiguration do |config|
config.on_event :test_case_finished do |event|
p event.result
end
end