Karate 使用标记排除要素组

Karate 使用标记排除要素组,karate,Karate,我们使用标签来对功能和senarios进行分组。例如,我们有如下内容: @jira=123 Scenario: test scenario 1 ... @jira=456 Scenario: test scenario 2, known failure ... Scenario: test scenario 3, new feature @jira=123 @jira Scenario: test scenario 1 ... @jira=456 @jira Scenario: te

我们使用标签来对功能和senarios进行分组。例如,我们有如下内容:

@jira=123 
Scenario: test scenario 1
...

@jira=456
Scenario: test scenario 2, known failure
...

Scenario: test scenario 3, new feature
@jira=123
@jira

Scenario: test scenario 1
...

@jira=456
@jira
Scenario: test scenario 2, known failure
现在,我们希望运行未标记为@jira=123或@jira=456的测试。因为我们有许多用@jira=somevalue标记的特性和场景,所以将它们全部添加是不切实际的。因此,我正在寻找一种能够排除任何带有@jira标记的内容的方法。我试过了~@jira和“~@jira=”但是运气不好。 查看以下junit案例:


正在使用“@foo=”作为标记,但无法找到示例。有没有一种方法可以排除@jira标记的一组场景,而不考虑标记值?

是的,我们还没有很好地记录这一点,但这里的这个问题可以作为一个开始。空手道实际上支持标记的迷你表达式语言

查看此测试中的一些选项:

这应该符合您的要求,请在评论中确认!是的,只需使用下面的字符串,您通常会在其中放置
@jira

!(“@jira”)的值。isPresent


编辑:是的,您可以在命令行上使用上面的命令

是的,我们还没有很好地记录这一点,但这里的这个问题可以作为一个开始。空手道实际上支持标记的迷你表达式语言

查看此测试中的一些选项:

这应该符合您的要求,请在评论中确认!是的,只需使用下面的字符串,您通常会在其中放置
@jira

!(“@jira”)的值。isPresent


编辑:是的,您可以在命令行上使用上面的命令

标记值是整个字符串,即使它包含一个
=
,并且您可以假设有一个键和一个值。 但是你可以考虑使用多个标签,它们是允许的。 因此,在你的情况下,我会使用类似于:

@jira=123 
Scenario: test scenario 1
...

@jira=456
Scenario: test scenario 2, known failure
...

Scenario: test scenario 3, new feature
@jira=123
@jira

Scenario: test scenario 1
...

@jira=456
@jira
Scenario: test scenario 2, known failure
您可以使用
~@jira
排除所有
@jira
场景。
这将允许您在需要时仍然引用单个的
@jira=123

标记值是整个字符串,即使它包含一个
=
,并且您可以假设有一个键和一个值。 但是你可以考虑使用多个标签,它们是允许的。 因此,在你的情况下,我会使用类似于:

@jira=123 
Scenario: test scenario 1
...

@jira=456
Scenario: test scenario 2, known failure
...

Scenario: test scenario 3, new feature
@jira=123
@jira

Scenario: test scenario 1
...

@jira=456
@jira
Scenario: test scenario 2, known failure
您可以使用
~@jira
排除所有
@jira
场景。
这将允许您在需要时仍然引用单个
@jira=123

我想我仍然缺少一些东西。也许我的问题不清楚。我们希望从命令行运行它们,就像调用maven时通过标记过滤器一样:``mvn test”-Dkarate.options=--tags@jira classpath:features“```@Mansour是的,您可以在命令行上使用它。试试看。这就是我说的
通常放在哪里的意思。我想我还是遗漏了一些东西。也许我的问题不清楚。我们希望从命令行运行它们,就像调用maven时通过标记过滤器一样:``mvn test”-Dkarate.options=--tags@jira classpath:features“```@Mansour是的,您可以在命令行上使用它。试试看。这就是我说的
通常放在哪里的意思。