Java 如果任何场景失败,如何停止Cucumber特性的执行

Java 如果任何场景失败,如何停止Cucumber特性的执行,java,cucumber,cucumber-jvm,cucumber-junit,cucumber-java,Java,Cucumber,Cucumber Jvm,Cucumber Junit,Cucumber Java,如果我在一个功能文件中有10个场景,如果一个场景失败,那么我希望停止执行或继续执行下一个场景。我想终止该特定功能文件的执行。在Java中如何才能做到这一点?我注意到这个问题是用Java标记的。 我没有测试下面的答案。这只是基于假设 嗯,我们需要根据需求调整代码。。 -我们在Cumber中有@前和@后,以满足这一要求 如果我是你,我会这样做 在之前的@中,我会检查(如果有)场景是否失败。如果失败,那么我将终止当前测试的线程并更新结果 在@After中,我将更新场景状态,并在测试执行后更新结果jso

如果我在一个功能文件中有10个场景,如果一个场景失败,那么我希望停止执行或继续执行下一个场景。我想终止该特定功能文件的执行。在Java中如何才能做到这一点?

我注意到这个问题是用Java标记的。 我没有测试下面的答案。这只是基于假设

嗯,我们需要根据需求调整代码。。 -我们在Cumber中有
@前
@后
,以满足这一要求

如果我是你,我会这样做

在之前的
@中,我会检查(如果有)场景是否失败。如果失败,那么我将终止当前测试的线程并更新结果

@After
中,我将更新场景状态,并在测试执行后更新结果json

因此,在每个迭代中(对于每个场景),首先将调用
@Before
,其中逻辑将查找在当前场景之前执行的场景

此外,不用说,我同意就这个问题补充的意见。所有场景都应该是独立的。(但就要求而言,允许调整;)

以上提到的方法确实提高了黄瓜的品质和使用价值。希望这有帮助


祝你好运

尝试在“RunCukeTest”类中使用@BeforeClass和@AfterClass。

出于好奇,为什么要这样做。。场景之间是否存在依赖关系?是的,它确实存在依赖关系。理想情况是场景之间不存在任何依赖关系。。因此,如果一个方案失败,我们知道在哪里寻找,以及哪个方案失败。。而且最大的优点是我们可以并行执行测试!!Cucumber不支持相互依赖的场景。Cucumber-JVM没有BeforeCasenario/AfterScenario HooksHank you@Seb,它应该是Cucumber包cucucumber.annotation.After/Before中的
@Before
@After