【发布时间】: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 报告生成器的原因。
【问题讨论】:
-
你检查过这个post 吗?
标签: ruby logging rspec cucumber