我正在使用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。
即使失败,如何启用调用读取(功能)以执行所有被调用功能的方案。 (或者我错过了什么)
答案 0 :(得分:0)
我希望这与以下错误相同:https://github.com/intuit/karate/issues/421
在RC版本中已修复该问题,如果您尝试使用0.8.0.RC8并让我知道它是否可以解决此问题,那就太好了。