parallel_tests黄瓜功能仅在CI中失败

时间:2019-01-23 14:54:29

标签: ruby-on-rails rspec cucumber parallel-testing

我正在使用具有更大测试范围的旧版ROR应用程序,因此执行信号量CI中的所有rspec_cucumber大约需要1:30个小时。因此我们实现了[Parallel_test] [1]

[1]:https://github.com/grosser/parallel_tests。宝石和许多功能规范或方案很多时候仅在CI环境中失败。当我们在本地SSH信号量环境中重新运行相同的测试用例时,通过了相同的规范。

配置项环境日志中最常见的错误是Capybara::ElementNotFound:,要确定问题的根本原因具有挑战性。有任何线索吗?

2 个答案:

答案 0 :(得分:0)

尝试在没有并行测试gem的CI上运行,然后让CI平台进行并行化。

也许对https://semaphoreci.com/docs/running-cucumber-scenarios-in-threads.html有帮助。

我非常确定信号量支持使用rspec进行并行测试。

还尝试通过并行测试在本地运行整个套件,看看是否遇到相同的问题。

最后在命令行上查看cucumber --help。您可以使用许多选项进行以下操作

  • 向运行添加更多调试信息
  • 确定最慢的情况(也许您可以标记这些情况并减少运行频率)。

答案 1 :(得分:0)

我遇到了与 Capybara parallel_tests类似的问题,我发现同时进行的同时测试越多,您开始遇到的“怪异”问题就越多在Circle CI中。也就是说,即使Circle CI中的芯片(至少在我们的容器中)具有18个内核。我已经使用-n 4标志将同时测试的数量限制为4。

因此,在我的Ci配置中,我使用:bundle exec parallel_rspec ~/repo/spec -n 4