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

Cucumber how to find if a feature file has executed? Any Java method?

 @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.");
  }

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

黄瓜场景不应该相互依赖。

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

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

尝试回顾一下您的方法,看看如何以不同的方式定义场景以避免耦合。祝你好运。