我正在使用具有更大测试范围的旧版ROR应用程序,因此执行信号量CI中的所有rspec_cucumber大约需要1:30个小时。因此我们实现了[Parallel_test] [1]
[1]:https://github.com/grosser/parallel_tests。宝石和许多功能规范或方案很多时候仅在CI环境中失败。当我们在本地SSH信号量环境中重新运行相同的测试用例时,通过了相同的规范。
配置项环境日志中最常见的错误是Capybara::ElementNotFound:
,要确定问题的根本原因具有挑战性。有任何线索吗?
答案 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