我应该如何将 2 个测试组传递给空手道:1 个忽略组和 1 个包含组

How should I pass 2 test groups to karate: 1 ignore group and 1 include group

这是我的场景。

我设置了一个空手道 Java 跑步者测试方法,如下所示:

Results results = Runner.path("classpath:features")
    .outputCucumberJson(true)
    .tags(GLOBAL_INCLUDE, GLOBAL_IGNORE_ALL)
    .parallel(5);

然后我像这样为测试组设置变量:

static final String REGRESSION_TAG = "regression";
static final String GLOBAL_IGNORE_ALL = "~@ignore";
static final String GLOBAL_INCLUDE = "@" + System.getProperty("test.type", REGRESSION_TAG).toLowerCase();

但是上面的配置未能忽略 @ignore 标签。

我让它工作的唯一方法是添加已弃用的测试运行程序注释,如下所示:

@KarateOptions(tags = {"~@ignore"} )
public class RunIT {
...
Results results = Runner.path("classpath:features")
    .outputCucumberJson(true)
    .tags(GLOBAL_INCLUDE)
    .parallel(5);
...

有人知道我做错了什么吗?只是试图以 AND 条件样式传递 2 个标签:所有回归测试减去忽略测试。

版本:空手道 1.0.1

从 Karate 1.1.0.RC3 开始,所有这些都发生了变化:https://github.com/intuit/karate/releases/tag/v1.1.0.RC3(阅读发行说明)

也许您需要做 .tags(GLOBAL_INCLUDE + "," + GLOBAL_IGNORE_ALL) - “AND”与“OR”之间存在细微差别。

所以尝试一下,如果需要,请遵循此过程:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue