我有一个用于我的 rails 应用程序的黄瓜测试套件,包括大约 500 个场景,它们之间大约有 5000 个步骤。
我已经设置了我的 github 存储库以使用Travis-CI,使用以下.travis.yml
.
language: ruby
rvm:
- "1.9.2"
script:
- RAILS_ENV=test bundle exec rake db:migrate --trace
- bundle exec cucumber -f progress -r features features/cards/base_game
- bundle exec cucumber -f progress -r features features/cards/basic_cards
- bundle exec cucumber -f progress -r features features/cards/intrigue
- bundle exec cucumber -f progress -r features features/cards/seaside
- bundle exec cucumber -f progress -r features features/cards/prosperity
- bundle exec cucumber -f progress -r features features/cards/interactions
before_script:
- cp config/database.travis.yml config/database.yml
- psql -c 'create database dominion_test' -U postgres
如果我只是跑去bundle exec cucumber
运行所有案例,我已经将黄瓜执行分开了,因为 Travis 正在抛出内存不足。
然而,我最近的推送产生了一个 Travis 任务,它花费了 50 多分钟来运行我的所有测试,因此被杀死了。我只是对这么多场景不合理,还是我可以做些什么来加快执行速度?
编辑:如果它很重要,我应该澄清我的场景不测试 GUI。他们正在测试纸牌游戏服务器的规则,因此他们直接调用模型方法。