如何将黄瓜方案结果更改为@After挂钩

时间:2018-10-01 15:37:38

标签: cucumber cucumber-jvm

我想将已知问题的方案状态更改为After挂钩。 像这样:

@After
public void afterScenario(Scenario scenario) {
   if(scenario.isFailed() && scenario.getSourceTagNames().contains("knownIssue")){
        //scenario.add(Result.SKIPPED)
   }
}

想法是测试,由于已知的错误被跳过到测试报告中而导致测试失败。

谢谢, 内登

3 个答案:

答案 0 :(得分:0)

负责这方面的是您的测试执行引擎,也就是TestNG,JUnit。 因此,问题是:如何以编程方式更改测试执行状态? Here是一个解释。您可以按照本文中介绍的方法或您的方法连接到测试执行引擎-重要的是-您必须使用测试执行引擎而不是Cucumber。

答案 1 :(得分:0)

您可以使用@KnownIssue注释方案,然后使用--tags "not @KnownIssue"或等效的@CucumberOptions运行黄瓜。

答案 2 :(得分:0)

Gherkin with qaf支持您要寻找的内容。使用Qaf

  • 您可以通过在方法调用侦听器之后测试ng来实现。

  • 此外,您还可以在步骤级别添加元数据,并在step listeneronFailure方法中对其进行处理,以根据步骤元数据将异常修改为“跳过异常”。会自动跳过该步骤调用和失败的地方的测试。