【问题标题】:How to run specifications based on the order of the tags inputtted如何根据输入的标签顺序运行规范
【发布时间】:2019-11-04 01:53:41
【问题描述】:

示例: - 考虑我有两个规格(规格 1 和规格 2)。 - 在这两个规范中,我都有很少的场景,每个场景都有一个标签,代表它必须运行的阶段。假设 spec1 有与“STAGE_1”和“STAGE_2”相关的场景。 “Spec 2”中的情况也是如此。

  • 现在,我想以特定顺序跨所有规范(规范 1 和规范 2)运行所有场景。

  • 我想要的顺序是 一种。先运行所有“STAGE1”场景,然后再运行 湾。运行所有“STAGE2”场景。

进一步的限制: 我确实需要将这些放在单独的规范中,因为 - 我可以选择按规范运行,而不用打扰阶段级别排序 - 我还想让“STAGE1”在store中设置一些数据,这些数据可以被下一阶段的步骤使用,比如“STAGE2”。

所以,实际上,我看到我的要求是有一个类似的命令

测量运行规格 -tags="STAGE1 | STAGE2"

但希望仪表首先对所有“STAGE1”场景进行排序以执行,然后再执行所有 STAGE2 场景。

【问题讨论】:

标签: getgauge


【解决方案1】:

Gauge 不考虑规格顺序的标签。此外,在您的示例中,您列出了一个标签表达式,很难确定其顺序。前任。如果你做了!STAGE1,它告诉gauge的只是忽略标签,很难确定顺序。

相反,如果您传入一个规范文件或目录列表,Gauge 将尝试保留执行顺序。

默认情况下,gauge 不保证任何顺序。您必须将--sort 标志与gauge run 一起使用。参考:https://manpage.gauge.org/gauge_run.html

【讨论】: