我的测试超时和随机失败时遇到问题。我一直在寻找如何编写健壮的水豚集成测试的最佳实践,但我没有发现任何有用的东西。
自从我们开始编写一堆测试以来,我们的 CI 服务器一直随机失败,使我们的应用看起来非常不稳定,但测试总是(大部分)在本地通过。
我想了解您和其他有经验的 BDD/TDD 专家如何处理:
- 如何处理外部 javascript 和东西(KissMetrics、Google Analyics 等)和
- 调试和防止破坏构建的超时错误
任何帮助,将不胜感激。
我的测试超时和随机失败时遇到问题。我一直在寻找如何编写健壮的水豚集成测试的最佳实践,但我没有发现任何有用的东西。
自从我们开始编写一堆测试以来,我们的 CI 服务器一直随机失败,使我们的应用看起来非常不稳定,但测试总是(大部分)在本地通过。
我想了解您和其他有经验的 BDD/TDD 专家如何处理:
任何帮助,将不胜感激。
跟进此事。我感谢@jonleighton 邀请我在 poltergeist 上提交错误,但我遇到的问题与两个单独的问题有关:
我发现在许多情况下,我可以利用 Poltergeist 的黑名单功能帮助我的集成测试更具确定性。就我而言,我已将主机名列入黑名单,如下所示。
typekit.net
facebook.net
facebook.com
google.com
google-analytics.com
...
这个想法是关闭任何 a) 测试并不真正需要的东西,并且 b) 可能会影响 CI 环境下的页面加载完成。我注意到这有很大帮助。此外,将这个 PhantomJS 选项与 Poltergeist 一起使用也有帮助:
phantomjs_options: ['--ignore-ssl-errors=yes']