【问题标题】:Cucumber: How to get list of executed steps after each scenario?Cucumber:如何在每个场景之后获取已执行步骤的列表?
【发布时间】:2015-02-28 02:49:53
【问题描述】:

在每个场景之后,我想列出这个场景的所有步骤。有什么办法吗?

【问题讨论】:

  • 日志/报告不会打印出您执行的所有步骤吗?
  • @hidro,它会的。我需要存储它。

标签: ruby cucumber scenarios


【解决方案1】:

您可以使用Scenario Hooks 获取每个场景的步骤:

After do |scenario|
  scenario.steps.each { |s| puts s.to_sexp }
end

【讨论】:

  • 这就是我所需要的。如何将步骤从对象转换为可读字符串?
  • 使用step.to_sexp,然后将输出修改为您想要的,检查我的编辑。如果对您有帮助,请采纳我的回答谢谢!
  • 是的,我试过 to_sexp 并且输出很大。我想它包含了所有可能的步骤信息。
  • 好吧,如果是这种情况,您可能需要查看Cucumber::Ast::StepInvocation 类,看看有什么适合您。
【解决方案2】:

如果执行场景的报告是您所追求的,那么只需设置您可以在 CukesRunner 类中指定的多种报告格式(html、json 等)中的一种

见下面的例子:

@RunWith(Cucumber.class)
@CucumberOptions(format = { "pretty", "html:target/cucumber-html-report", "json:target/cucumber-json-report.json" })
public class CukesRunner {

}

【讨论】:

  • 如何在 Ruby 上做到这一点?
  • cucumber features/feature_name.feature -f pretty这已经被问及回答这里stackoverflow.com/questions/25781478/…
  • 不是这样的。我不需要打印步骤。我只需要在钩子后让它们进入并做一些工作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
相关资源
最近更新 更多