在黄瓜上使用 Return

Use Return On Cucumber

  1. 在 Cucumber 中有多种方法可以跳过场景。失败场景,@Ignore 等。但我正在寻找一种优雅但统一的方式。我不想扫描成百上千行 scenarios/step 定义来标记它们或修改它们。

    我想创建一个像 Array/hashmap 这样的列表,然后只跳过一次。我们不能使用类似 Return 的语句来优雅地退出场景吗?另外我想确保日志不会反映为实际开始的步骤 - 即如果我们跳过 100 次测试,结果应该只计算 99 次通过或失败...

    我的想法是在可能发生 return / skip 的给定步骤中调用通用方法。我也可以读出 excel 并做同样的事情。

  2. 为什么人们不考虑在 BDD Cucumber 自动化中使用 Excel。没有人向我解释正确的理由。他们说一切都可以保存在脚本文件中。但这不是他们应该避免它的原因。

如果您不想使用标签来忽略特定场景,请添加一个 Given 步骤以将其挂起,例如:

在场景第一步的功能文件中:

Given PENDING: The reason why you dont want to run the test
...

您的步骤定义文件:

Given(/^PENDING: (?:.*)$/) do
  pending
end

您的功能文件:

@pend
Given yada yada yada
Then yada yada yada

你的钩子文件:

Before('@pend') do
  pending
end

这将为您提供 pended/todo 场景以及 运行 场景的数量...这是一个很好的指标,拥有总比没有好...

或者只使用 IMO 没有问题的标签,我不明白为什么不希望你使用它...

在您的功能文件中:

@ignore
Given yada yada yada
Then yada yada yada

在您的个人资料或执行中:

cucumber --tag ~@ignore

关于你的第二个问题,它属于第二个线程...但是 Excel 与黄瓜只是听起来不对,如果你有一个不错的智商你不应该质疑为什么它听起来不对。 ..