如何在 运行 一个 Cucumber Rake 任务时排除 files/directories?

How to exclude files/directories when running a Cucumber Rake task?

目前我的场景文件夹中有两个具有不同功能的文件夹:

features
  scenarios
    folder_1
      first_feature.feature
    folder_2
      second_feature.feature

在这些功能中,我有很多场景共享一些不同的标签

first_feature.feature:

Feature: One
  @tag1 @tag2
  Scenario: Scenario 1

  @tag3
  Scenario: Scenario 2

second_feature.feature:

Feature: Two
  @tag1 @tag4
  Scenario: Scenario 3

所以问题来了:我有一个 rake 任务,它遍历我的场景,运行所有东西都带有 @tag1 标签。现在包括功能 1 中的场景 1 和功能 2 中的场景 3。在不更改任何标签或场景的情况下,有什么我可以添加到我的 rake 任务中以告诉它忽略某个 file/folder 中的任何测试吗?在上面的示例中,我希望我的 rake 任务忽略它在 folder_2 中找到的任何场景,因此场景 3 不会 运行 即使它有 @tag1.

我当前的佣金任务:

Cucumber::Rake::Task.new(:all_tag_1) do |t|
  tags = '--tags ~@wip --tags @tag1'
  t.cucumber_opts = "--format html --out features/build_results/all_tag_1.html --format pretty #{tags} --format junit --out features/build_results/reports"
end

部分问题是我搜索了 Internet 和 Cucumber 文档,但无法找到列出 cucumber_opts 所有有效选项的任何地方。如果有人甚至可以指出正确的方向以找到不同可能性的列表,那将不胜感激。

谢谢。

Cucumber::Rake::Task.new(:all_tag_1) do |t| tags = '--tags ~@wip --tags @tag1' t.cucumber_opts = "features/scenarios/folder_1 --format html --out features/build_results/all_tag_1.html --format pretty #{tags} --format junit --out features/build_results/reports" end

此命令只会 运行 个来自 features/scenarios/folder_1 文件夹的场景...