我的测试超时和随机失败一直存在问题。我一直在寻找如何编写强大的capybara集成测试的最佳实践,但我找不到任何有用的东西。
自从我们开始编写一系列测试以来,我们的CI服务器一直失败,使我们的应用看起来不稳定,但测试总是(大部分)在本地传递。
我想了解您和其他经验丰富的BDD / TDD专家如何处理:
任何帮助都将不胜感激。
答案 0 :(得分:7)
跟进此事。我很欣赏@ jonleighton的邀请,向poltergeist提交一个bug,但我遇到的问题与两个不同的问题有关:
答案 1 :(得分:3)
我发现在很多情况下,我可以通过利用Poltergeist的黑名单功能来帮助我的集成测试更具确定性。就我而言,我列出了以下列入黑名单的主机名。
typekit.net
facebook.net
facebook.com
google.com
google-analytics.com
...
这个想法是关闭a)测试不需要的任何东西,b)可能影响CI环境下的页面加载完成。我注意到这有很大帮助。此外,将此PhantomJS选项与Poltergeist一起使用也有帮助:
phantomjs_options: ['--ignore-ssl-errors=yes']