Sam*_*tha 1 java cucumber cucumber-jvm cucumber-junit cucumber-java
@Before
public void quit_if_tagged_scenario_failed(Scenario scenario) {
if (!isTagged(scenario) && prevScenarioFailed)
throw new IllegalStateException("An important scenario has failed! Cucumber wants to quit.");
}
Run Code Online (Sandbox Code Playgroud)
我正在使用这种方法来检查之前的场景是否失败。如果失败,我想跳过该功能文件中的所有场景。所以这里的问题是,如果我正在运行两个功能文件,则功能文件中的最后一个场景失败,下一个功能的第一步也将失败,因为黄瓜上一个场景来自过去的功能文件失败。你知道如何处理这种情况吗?对你的帮助表示感谢。
黄瓜场景不应相互依赖。
根据 Cucumber 最佳实践,场景之间不应存在任何类型的耦合。或者换句话说,在场景之间不应该有持续存在的状态。
作为一个为什么这是不好的做法的示例,请考虑一个场景步骤将记录添加到数据库的情况,而后续场景取决于该记录的存在。这可能有效,但如果场景运行的顺序发生变化,或者它们并行运行,则会产生问题。
尝试回顾您的方法,看看您如何以不同的方式定义您的场景以避免耦合。祝你好运。
归档时间: |
|
查看次数: |
1028 次 |
最近记录: |