Cucumber 获取场景步骤名称

Cucumber 获取场景步骤名称,cucumber,watir,Cucumber,Watir,我尝试在hooks文件中获取步骤的名称: AfterStep do |scenario| step = scenario.steps.find { |s| s.status == :failed } if step.name.include?("failed step") puts "Failed step is: #{step}" end end 但当我运行一个场景时,我会遇到下一个错误: NoMethodError:n的未定义方法“步骤” 我使用Cucumber 2.4

我尝试在hooks文件中获取步骤的名称:

AfterStep do |scenario|
  step = scenario.steps.find { |s| s.status == :failed }
  if step.name.include?("failed step")
    puts "Failed step is: #{step}"
  end
end
但当我运行一个场景时,我会遇到下一个错误:
NoMethodError:n的未定义方法“步骤”

我使用Cucumber 2.4.0。获取场景步骤名称的另一种方法是什么?

答案如下:

AfterStep do |result, step|
  puts step.name
end

AfterStep钩子的API似乎已经改变了——即场景不再作为参数传递。从中,答案建议您需要在Before钩子中检索/存储名称。