Rah*_*har 7 testing continuous-integration ruby-on-rails travis-ci wercker
我正在铁轨上创建一个网站,到目前为止一直在使用travis-ci进行持续集成.我正在尝试使用wercker进行持续集成和部署.测试步骤在wercker上失败了,因为它跑了超过25分钟而且发生在我身上,可能是因为某些原因我的测试时间异常长.
我正在研究的网站规模庞大,但规模不大.我使用rskit和capybara进行测试,使用webkit进行集成测试.我写了相当全面的集成测试,试图确保我涵盖每个功能.在travis-ci上,整个过程需要25-30分钟才能运行(包括安装捆绑包).
对于这个论坛来说,这可能是一个模糊的问题,但是我想得到一些意见.让测试套件运行半小时或更长时间是不可接受的吗?您通常会在一组集成测试中遇到哪些测试套件时间?
Dav*_*uth 10
商业网站通常具有集成测试套件,即使是设计良好的集成测试套件也是正常的,如果它们在开发人员计算机上的单个进程中运行,则需要一个小时或更长时间才能运行.因此,您没有理由认为您正在编写太多测试或编写测试,以至于它们的运行异常缓慢.但是,等待了解您的提交是否合适还有很长时间.根据我的经验,半小时太长,15'是边缘的; 如果运行所有测试需要很长时间,那么触发构建的人将在构建运行时启动其他内容或漫游,然后必须进行上下文切换或在构建中断时不会出现.较长的构建还会增加给定构建中的平均提交次数,这使得在构建中断时更难分配责任.
因此,让您的CI构建尽可能快地运行.大话题,但有一些起点:
parallel_tests宝石是在尽可能快地运行你的套件(包括单元测试和黄瓜)的方式单箱(这只会让你这么远,但也许这是远远不够的了).拥有一个覆盖大部分或全部代码的单元测试套件,运行速度比集成测试快得多(几秒钟或最多几分钟)也很有帮助,这样大多数错误都会在集成测试运行之前被捕获.
| 归档时间: |
|
| 查看次数: |
1337 次 |
| 最近记录: |