【问题标题】:Capturing and logging cucumber test results捕获和记录黄瓜测试结果
【发布时间】:2019-11-25 23:35:12
【问题描述】:

我正在向测试套件添加日志记录。它使用 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 报告生成器的原因。

【问题讨论】:

标签: ruby logging rspec cucumber


【解决方案1】:

发现这正是我所需要的

AfterConfiguration do |config|
    config.on_event :test_case_finished do |event|
        p event.result
    end
end

【讨论】:

  • 我正在尝试在帮助文件中实现与 Rspec rails 完全相同的功能,我尝试调用 config.on_event 但它引发了错误 NoMethodError: undefined method `on_event' for #<: core::configuration:0x0000563ce8230228> 你有没有记录或者你记得在哪里或如何配置记录器?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-25
  • 2018-12-14
  • 1970-01-01
相关资源
最近更新 更多