我目前在我的scenario文件夹中有两个具有不同功能的文件夹:
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和功能2中的场景3。在不更改任何标签或场景的情况下,我可以添加到我的rake任务中以告诉它忽略某个文件/文件夹中的任何测试吗?在上面的示例中,我希望我的rake任务忽略它在folder_2中找到的任何场景,因此即使它有@ tag1,场景3也不会运行。
我当前的佣金任务:
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
问题的一部分是我浏览了互联网和Cucumber文档,无法找到列出所有有效的cucumber_opts选项的地方。如果有人能够指出我正确的方向找到不同可能性的清单,那将非常感激。
谢谢。
答案 0 :(得分:0)
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文件夹中的方案...