空手道:具有多个sceanrios的子功能不会在失败的情况下执行所有方案

时间:2018-07-09 07:15:25

标签: karate

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

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

namedFeature.feature包含多个场景-每个场景都在相同的输入参数上工作-但测试出略有不同的功能/场景。 这就是feature.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调用callFeature.feature,而是使用Java类,如下所示:

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

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

即使失败,如何启用调用读取(功能)以执行所有被调用功能的方案。 (或者我错过了什么)

1 个答案:

答案 0 :(得分:0)

我希望这与以下错误相同:https://github.com/intuit/karate/issues/421

在RC版本中已修复该问题,如果您尝试使用0.8.0.RC8并让我知道它是否可以解决此问题,那就太好了。