黄瓜如何查找功能文件是否已执行?任何Java方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了黄瓜如何查找功能文件是否已执行?任何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.");
  }

我正在使用此方法来检查previuos方案是否失败。如果失败,我想跳过该功能文件中的所有场景。所以这里的问题是如果我运行两个功能文件,功能文件中的最后一个场景失败,下一个功能的第一步也将失败,因为黄瓜之前的场景来自过去的功能文件失败。你知道如何处理这种情况吗?对你的帮助表示感谢。

答案

黄瓜情景不应相互依赖。

根据Cucumber最佳实践,场景之间不应存在任何形式的耦合。或者换句话说,在场景之间不应该存在任何状态。

作为一个例子,为什么这是一个不好的做法,考虑一个场景步骤将记录添加到数据库的情况,而后续场景取决于该记录的存在。这可能有效,但如果场景运行的顺序发生变化,或者它们并行运行,则会产生问题。

尝试检查您的方法,看看如何以不同方式定义场景以避免耦合。祝好运。

以上是关于黄瓜如何查找功能文件是否已执行?任何Java方法?的主要内容,如果未能解决你的问题,请参考以下文章

执行多个黄瓜特征文件

黄瓜特征文件不识别步骤

如何通过黄瓜选项通过带有黄瓜功能文件的命令行传递应用程序 URL?

用黄瓜java运行功能文件

使用'@@ tag'时显示的第一个黄瓜版本“将从下一版Cucumber中删除对'〜@ tag'的支持”?]

如何按名称运行单一黄瓜方案