当前位置: 首页 > 知识库问答 >
问题:

Cucumber 4,如何跳过场景并将场景标记为已通过?

柏阳炎
2023-03-14

cucumber场景使用JUnit运行。

我有一个用例,需要根据Jira票据的状态跳过特定的Cumber场景。然后,我需要将该场景标记为在html报告中传递。

我可以使用PendingException()或AssumptionViolatedException()轻松跳过场景,两者都可以正常跳过场景执行并将步骤标记为跳过。但是场景本身将被标记为失败,我希望它被通过。

无论如何,我可以做到这一点?是否有办法强制场景状态为“已通过”状态?

当前代码如下所示:

 @Before
 public void before(final Scenario scenario) throws Exception {
        skipAndSetScenarioToPass(scenario);
    }

    void skipAndSetScenarioToPass (Scenario scenario) {
        throw new PendingException("skipping");
    }

共有1个答案

孟谭三
2023-03-14

如果您使用TestNG,您可以抛出SkipException而不是PendingException,这会导致状态跳过而不是失败,这更合适。您还可以通过将结果更改为pass通过IInvokedmetodListener将状态修改为passinpostInvtion方法,不推荐使用,因为它是误报!

 类似资料:
  • 我在功能文件中编写了一系列场景,其中包含断言。如果第一个场景的断言失败,Specflow将跳过它之后的所有场景。我希望我所有的场景都能继续运行,即使其中一个像NUnit一样失败。我使用SpecRun作为测试提供商,我在SpecFlow网站上找不到任何对我有帮助的东西。可能是我的应用程序中缺少了什么。配置文件? 以下是我的App.config文件:

  • 我目前有一个项目,里面有一大堆cucumber。特征文件,其中许多场景都被破坏。这些场景用< code>@broken标记,我们通过用< code>-t ~@broken执行cucumber来避免运行它们。不幸的是,当我们检查cucumber输出时,这些场景实际上是不可见的。它们不会显示为通过、失败或跳过。我想要的是在cucumber输出中包含这些场景的计数。它们应该显示为“跳过的”测试,而不是根

  • 我已经在Cucumber中有了我的特性文件,并且正在使用Given,When,Then语法(Gherkin)在其中编写我的场景,并在步骤定义文件中有相应的步骤。我有一个场景,我正在检查特定数据集是否存在(这是我给定步骤的一部分),然后继续执行“然后”、“和”等的下一步,但如果不存在,则应跳过其余步骤并退出步骤定义文件,而不会使场景失败。有人能告诉我cucumber是否支持这一点吗?如果是,最好的方

  • 然后跳过用@wip和@test标记的场景。 所以,我想知道,是否可以跳过单个标签中的两个或多个标签,即第1点提到的标签?

  • 我有一个如下结构的场景: 如您所见,在第二个示例中有一个参数“被忽略”。如果我在运行时检测到这个关键字,我希望跳过出现关键字的步骤。 目前我使用这个: 如果存在IGNORED关键字,则此步骤将设置为PASSED。相反,我想要的是将这单个步骤标记为SKIPPED,并且仍然执行以下步骤,然后根据其他步骤的状态将完整的测试场景标记为PASSED或FAILED。 所以我的问题是: 有没有办法手动将 Cuc

  • 问题内容: 在Objective-C中,使用Sprite-Kit,我将在Objective-C中 成功 使用类似以下代码的内容来展示新场景 在尝试将我的简单游戏移植到Swift时,到目前为止,我已经完成了这项工作… 但是我不知道要写什么代码才能真正过渡到另一个场景。问题: 有人可以提供在Swift中使用SKTransition的示例吗? 假设您将使用Objective-C,通常是否会创建另一个“文