parallel_tests黄瓜功能仅在 CI 中失败



我正在使用具有更多测试覆盖率的传统 ROR 应用程序,因此在我们的信号量 CI 中执行所有rspec_cucumber需要大约 1:30 小时。 所以我们实现了[Parallel_test][1]

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

CI 环境日志中最常见的错误是Capybara::ElementNotFound:很难确定问题的根本原因。对此有什么线索吗?

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

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

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

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

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

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

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

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

相关内容

  • 没有找到相关文章

最新更新