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

问题描述 投票:0回答:1

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

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那样做

cucumber cucumber-java
1个回答
0
投票

如果我正确地理解你的问题,当你找到“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
© www.soinside.com 2019 - 2024. All rights reserved.