2013-08-27 12 views
44

Mam projektu szyny i jestem uruchomione testy dla mojego testu JavaScript (Jasmine) przez KarmaCzy można skonfigurować Travis, aby uruchomić testy dla kilku języków?

.travis.yml złożyć

language: ruby 
rvm: 
    - 2.0.0 
script: 
    - RAILS_ENV=test bundle exec rake --trace db:migrate test 
    - karma start --single-run --browsers PhantomJS test/karma/config/unit.js 

Travis zawiedzie, mówiąc, że nie znajdzie karmę. czy istnieje sposób na zdefiniowanie node_js jako innego języka i zainstalowanie karmy na maszynie wirtualnej build?

+1

FYI https://github.com/travis-ci/travis-ci/issues/4090 wskazuje, że nie będzie wspierać go w najbliższym czasie. – Jeff

Odpowiedz

52

To jest not possible yet, aby mieć kilka języków w pliku konfiguracyjnym Travis. Z drugiej strony wszystkie środowiska

Poniższy skrypt załatwia sprawę:

language: ruby 
rvm: 
    - 2.0.0 
before_script: 
    - npm install karma 
script: 
    - RAILS_ENV=test bundle exec rake --trace db:migrate test 
    - karma start --single-run --browsers PhantomJS test/karma/config/unit.js 

Pomoc znajdujący się na odpowiedź an old thread in a google group

+0

Mój [.travis.yml] (https://github.com/OrangeTux/Goppetto/blob/develop/.travis.yml) z configem do uruchamiania testów Go i Javascript. – OrangeTux

+1

Oto [jak mogę uruchomić ** zaktualizowane nodejs **] (http://entulho.fiatjaf.alhur.es/guias/how-to-use-node-along-with-other-language-on-travis-ci /) instalacja wraz z dowolnym innym językiem. – fiatjaf

5

K-Yo Ma mnie zmierza we właściwym kierunku, ale daleki od sukcesu. Oto, co potrzebne:

pierwsze w moim .travis.yml:

language: ruby 

rvm: 
    - 2.1.1 

before_script: 
    - psql -c 'create database spokenvote_test;' -U postgres 
    - cp config/database.travis.yml config/database.yml 
    - rake db:test_prep 
    - npm install karma 
    - npm install karma-jasmine 
    - npm install karma-coverage 
    - npm install karma-phantomjs-launcher 
    - npm install karma-coffee-preprocessor 

script: 
    - bundle exec rspec speC# basic for ruby 
    - node_modules/karma/bin/karma start config/karma.conf.js --single-run --browsers PhantomJS 

Wtedy też umieszczony ten kod w moim package.json, choć nie jestem pewien, czy to było potrzebne:

"devDependencies": { 
    "karma": "~0.12", 
    "karma-jasmine": "~0.2", 
    "karma-coverage": "~0.2.6", 
    "karma-phantomjs-launcher": "~0.1.4", 
    "karma-coffee-preprocessor": "~0.2.1" 
}, 

Wreszcie dowiedziałem się, że Travis jest wielkość liter, więc:

'bower_components/jquery/dist/jquery.min.js', 

w moich karma.conf.js musiała być:

'bower_components/jQuery/dist/jquery.min.js', 
2

Gdy klucz w .travis.ymllanguage jest ustawiony na node, Travis będzie działać nvm install 0.12 na początku budowy. Podobnie, w przypadku projektu Ruby, Travis będzie uruchamiał rvm use 2.2.2 --install --binary --fuzzy na początku kompilacji.

miałem sukces pracuje zarówno komendy w Bash build

+0

dzięki za projekt na żywo –

Powiązane problemy