在黄瓜上使用 Return
Use Return On Cucumber
在 Cucumber 中有多种方法可以跳过场景。失败场景,@Ignore 等。但我正在寻找一种优雅但统一的方式。我不想扫描成百上千行 scenarios/step 定义来标记它们或修改它们。
我想创建一个像 Array/hashmap 这样的列表,然后只跳过一次。我们不能使用类似 Return 的语句来优雅地退出场景吗?另外我想确保日志不会反映为实际开始的步骤 - 即如果我们跳过 100 次测试,结果应该只计算 99 次通过或失败...
我的想法是在可能发生 return / skip 的给定步骤中调用通用方法。我也可以读出 excel 并做同样的事情。
为什么人们不考虑在 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 与黄瓜只是听起来不对,如果你有一个不错的智商你不应该质疑为什么它听起来不对。 ..
在 Cucumber 中有多种方法可以跳过场景。失败场景,@Ignore 等。但我正在寻找一种优雅但统一的方式。我不想扫描成百上千行 scenarios/step 定义来标记它们或修改它们。
我想创建一个像 Array/hashmap 这样的列表,然后只跳过一次。我们不能使用类似 Return 的语句来优雅地退出场景吗?另外我想确保日志不会反映为实际开始的步骤 - 即如果我们跳过 100 次测试,结果应该只计算 99 次通过或失败...
我的想法是在可能发生 return / skip 的给定步骤中调用通用方法。我也可以读出 excel 并做同样的事情。为什么人们不考虑在 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 与黄瓜只是听起来不对,如果你有一个不错的智商你不应该质疑为什么它听起来不对。 ..