我如何刻意说黄瓜跳过当前场景中的其余步骤(java)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何刻意说黄瓜跳过当前场景中的其余步骤(java)相关的知识,希望对你有一定的参考价值。

假设我有像下面这样的场景:

Scenario outline:
Given some "<data1>"
And Given some "<data2>"
When some conditon
Then do something

Examples:
|data1 |data2 |
|11    |12    |
|21    |22    |
|31    |32    |

如果我找到了数据11和12然后“做某事”步执行,这在下一次迭代中是显而易见的,如果我找到22然后我不执行'做某事'而下一次迭代工作作为第一次迭代。我知道我可以抛出异常以防止执行其余的步骤。但是还有其他方法可以像skip_this_scenario那样做

答案

如果我正确地理解你的问题,当你找到“11和”12“时你想”做某事“但是当找到”22“时却没有。

为此,您可以按如下方式重写您的方案:

Scenario:
  When some "11" is found
  And some "12" is found
  Then do something

Scenario:
  When some "21" is found
  And some "22" is found
  Then do not do something

请注意以下事项:*每行只使用一个关键字(给定/当/然后/和/但)*您使用哪个关键字与Cucumber的执行无关,但在您的方案的可读性方面确实重要*使用“给定”设置前置条件(通过测试所需的系统的已知状态)*对执行的操作使用“何时”(要验证其是否具有预期结果)*使用'然后'描述预期结果

所以你可能还需要使用你的“某些条件”作为给定。像这样:

Given "some condition" is present
When "11" is found
And "12" is found
Then do something

Given "some condition" is not present
When "11" is found
And "12" is found
Then do not do something

以上是关于我如何刻意说黄瓜跳过当前场景中的其余步骤(java)的主要内容,如果未能解决你的问题,请参考以下文章

如何跳过循环中的迭代?

如何将场景绑定到cucumber java中的特定步骤类

如何在每个场景之后执行拆除以释放资源在使用黄瓜的宁静BDD中

Swift 跳过当前在 iPhone 上播放的歌曲

如何再 freemarker中 的list 循环中 实现 continue的功能?

python超时跳过当前语句的方法