首页 文章

空手道:具有多个sceanrios的子功能在发生故障时不会执行所有场景

提问于
浏览
1

我正在使用0.7.0版的空手道 . 我正在尝试数据驱动器测试 . 为此,我有一个驱动程序功能,其格式如下:

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

calledFeature.feature包含多个场景 - 每个场景都在相同的输入参数上运行 - 但测试的功能略有不同/ sceanrio . 这就是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的所有参数化,即使其中一些参数化失败,它也会执行所有参数化 .

如何启用调用读取(功能)以执行所有被调用功能的方案,尽管出现故障 . (或者我错过了什么)

1 回答

  • 0

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

    在RC版本中已修复,如果你尝试0.8.0.RC8会很好,如果它解决了这个问题,请告诉我 .

相关问题