Mam zestaw testów ogórków do mojej aplikacji rails, zawierający około 500 scenariuszy z około 5000 kroków między nimi.Zestaw testów ogórków zbyt wolny dla Travisa
Skonfigurowałem moje repozytorium github, aby używać Travis-CI, używając następującej .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
mam podzielone wykonanie ogórka jako Travis wyrzucając pamięci, jeśli tylko prowadził bundle exec cucumber
do uruchomienia wszystkich przypadków.
Jednak moje ostatnie pchnięcie spowodowało zadanie Travisa, które trwało ponad 50 minut, aby uruchomić wszystkie moje testy, i dlatego został zabity. Czy jestem po prostu zbyt nierozsądny z powodu wielu scenariuszy, czy też jest coś, co mogę zrobić, aby przyspieszyć egzekucję?
Edytuj: Jeśli to ma znaczenie, powinienem wyjaśnić, że moje Scenariusze nie testują GUI. Testują zasady serwera gier karcianych, więc bezpośrednio odwołują się do metod modeli.