如何有条件地排除黄瓜中的场景

How to conditionally exclude a scenario in cucumber

我正在尝试以编程方式排除黄瓜中的场景。在我的案例中,测试用例 OS 依赖。假设底层 OS 是 Windows,我想跳过某些场景。在对 google 进行一些研究后,我发现有一个地方可以在 ruby 中连接此逻辑,即 AfterConfiguration。但是,我无法找到可以通过 Scala 将其连接到黄瓜的位置。 我也知道排除场景不是好的做法,但我别无选择。

首先,为 os-dependent 场景添加标签os(这可以在特征文件级别通过将标签放在文件顶部来实现)。

@windows8
Scenario: Seeing extra feature XYZ in Windows 8

然后黄瓜选项只使用那个 os 的标签,或者忽略另一个 os 的标签。如果您使用的是 mvn,它可能看起来像这样:

mvn clean install -Dcucumber.options="--tags @windows8"