2013-02-22 19 views
5

Benim raylar uygulamam için yaklaşık 5000 Adım içeren yaklaşık 500 Senaryo içeren bir salatalık test paketim var.Salatalık test paketi Travis için çok yavaş

Aşağıdaki .travis.yml'u kullanarak, Travis-CI'u kullanmak için github depomu kurdum. Ben sadece bütün davaları çalıştırmak için bundle exec cucumber koştu Travis Out Of Memory atma gibi

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 

Ben salatalık yürütme ayrıldık. Bununla birlikte, en son itilimim tüm testlerimi yürütmek için 50 dakikayı geçen bir Travis görevini ortaya çıkardı ve bu nedenle öldürüldü. Sadece bu senaryolarla mantıksız mıyım yoksa infazı hızlandırmak için yapabileceğim bir şey var mı?

Düzenle: Önemli olması durumunda, senaryolarımın GUI'yi sınamadığını açıklığa kavuşturmalıyım. Bir kart oyunu sunucusunun kurallarını test ediyorlar, bu yüzden doğrudan model yöntemlerini çağırıyorlar.

cevap

5

this page of Travis' docs numaralı telefondan sonra bir çözüm buldum.

Temel olarak, koşutları paralel hale getirmek için izin verilir (hatta önerilir!). Aşağıdaki .travis.yml ile, altı eşzamanlı iş ile sona erer, bunların hiçbiri 15 dakikadan fazla sürmez ve bu nedenle bunların tümü tamamlanma aşamasına gelir: