使用Capybara功能并行运行rspec测试

3
我有一个测试套件,使用Ruby的capybara和rspec。我使用parallel_tests gem以便在sauce上并行运行我的测试。
这很棒,但它将工作负载分成spec文件而不是我想要的使用capybara功能或更好的场景。我的spec文件看起来像: publisher_spec.rb
Feature "向发布者添加用户" Scenario "使用公共组" Scenario "使用私有组"
所以我希望每个场景都作为一个并行测试运行,但它只查看spec文件,迫使我将spec文件分解成多个单元。如果我每个spec文件只有1个场景,我的测试套件会运行得更快,但这将破坏可读性和使用“before”步骤的能力。
有人有好的解决方案吗?
1个回答

1
取决于有多少并行进程和有多少文件(以及它们需要多长时间)。 parallel_tests 实现了一种“平衡”策略,通过记录每个 spec 文件运行所需的时间来解释,如其 readme 所述。 如果你的文件不能平均分配,拆分它们是你唯一的选择。
还有一个新的并行 gem paraspec。它看起来很有前途,但我还没有尝试过用于功能测试。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接