【问题标题】:Karate: Sub feature with multiple sceanrios does not execute all scenarios in case of failure空手道:具有多个场景的子功能在失败的情况下不会执行所有场景
【发布时间】:2018-07-09 07:15:25
【问题描述】:

我使用的是 0.7.0 版的空手道。我正在尝试数据驱动测试。为此,我有一个驱动程序功能,它具有以下格式的场景:

Feature: Driver feature
Scenario: MainSceanrio
* table inputParams
 ......
 ......
* call read (calledFeature.feature) inputParams

calledFeature.feature 包含多个场景 - 每个场景都使用相同的输入参数 - 但测试的功能/场景略有不同。 这就是 calledFeature.feature 的样子:

Feature: Called feature.

Sceanrio: Scenario1
#create req using input param and few custom settings
# verify response is according to input param

Sceanrio: Scenario2
#create req using input param and few custom settings
# verify response is according to input param

Sceanrio: Scenario3
#create req using input param and few custom settings
# verify response is according to input param

现在,如果 Scenario2 失败,则 Scenario3 不会执行,控制权会落到表 MainScenario 的下一次迭代(驱动程序功能)。

有没有一种方法可以在不考虑失败的情况下执行调用功能文件的所有场景。

PS:如果不是从 Driver Feature 调用 calledFeature.feature,而是使用 Java 类,如下所示:

@RunWith(Karate.class)
@CucumberOptions(features = "classpath:rest/karate/calledFeature.feature")
public class DummyCaller {}

并用静态值替换来自 calledFeature.feature 的所有参数化,即使其中一些失败,它也会执行所有 sceanrios。

如何启用调用 read(feature) 以执行调用功能的所有场景,尽管失败。 (或者我错过了什么)

【问题讨论】:

    标签: karate


    【解决方案1】:

    我希望这和这个 bug 一样:https://github.com/intuit/karate/issues/421

    在 RC 版本中已修复,如果您尝试 0.8.0.RC8 并告诉我它是否解决了这个问题,那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 1970-01-01
      • 1970-01-01
      • 2017-01-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多