【发布时间】: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