您可以使用带有标签的通配符来获取所有匹配的标签吗

Can you use wildcard characters with tags to get all matching tags

我想知道您是否可以使用带标签的通配符来获取所有匹配特定模式的已标记 scenarios/features。

例如,我在许多功能文件中的许多场景中使用了 17 个唯一标签。模式是“@jira=CIS-”后跟 4 个数字,例如@jira=CIS-1234 和@jira=CIS-5678。

我希望我可以使用通配符或其他可以为我找到所有匹配项的字符。

当我 运行 我的所有 features/scenarios 时,我希望能够将它们排除在 运行 之外。 我试过以下方法:

--标签 ~@jira

--标签 ~@jira*

--标签 ~@jira=*

--标签 ~@jira=

不幸的是none已经给了我想要的结果。当我使用确切的标签时,我只能排除它们,例如。 ~@jira=CIS-1234。必须将(17 个不同标签中的)每一个都添加到命令行并不是一个好的解决方案。这些标签可以经常更改,添加新标签和删除旧标签,而且它会成为一个真正的长命令。

是的。首先阅读这个 - 有一个未记录的表达式语言(基于 JS)用于基于 @key=val1,val2 形式的高级标签选择:

所以你应该能够做到这一点:

valuesFor('@jira').isPresent

甚至(这里 s 将是一个字符串,如果您知道如何,您甚至可以在其上执行 JS 正则表达式):

valuesFor('@jira').isEach(s => s.startsWith('CIS-'))

很高兴得到你的确认,然后这个线程本身可以帮助其他人,我们可以在某个时候将它添加到文档中。