2013-08-27 3 views
44

У меня есть проект рельсов и бегают тесты для моего теста JavaScript (Jasmine) через KarmaМожно ли настроить трафик для запуска тестов на нескольких языках?

.travis.yml файл

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 терпит неудачу говоря, что это не находит карму. есть ли способ определить node_js как другой язык и установить карму на VM сборки?

+1

FYI https://github.com/travis-ci/travis-ci/issues/4090 указывает, что они не будут поддерживать его в ближайшее время. – Jeff

ответ

52

Это not possible yet, чтобы иметь несколько языков в конфигурационном файле travis.

С другой стороны, все среды run node.js. Следующий скрипт делает трюк:

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 

Помощь найденную на ответ an old thread in a google group

+0

My [.travis.yml] (https://github.com/OrangeTux/Goppetto/blob/develop/.travis.yml) с конфигурацией для запуска тестов Go и Javascript. – OrangeTux

+1

Вот [как я запустил ** обновленный nodejs **] (http://entulho.fiatjaf.alhur.es/guias/how-to-use-node-along-with-other-language-on-travis-ci /) вместе с любым другим языком. – fiatjaf

5

K-Yo получил меня движется в правильном направлении, но далеко от успеха. Вот что мне нужно:

Во-первых, в моем .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 

Затем я поместил этот код в моем package.json, хотя я не уверен, если это было необходимо:

"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" 
}, 

Наконец, я узнал, что Трэвис чувствителен к регистру, поэтому:

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

в моем karma.conf.js должен быть:

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

Когда language ключ в .travis.yml установлен в node, Travis будет работать nvm install 0.12 в начале сборки. Аналогично, для проекта Ruby, Travis будет запускать rvm use 2.2.2 --install --binary --fuzzy в начале сборки.

я имел успех работы обеих команд в Bash build

+0

спасибо за живой проект –

Смежные вопросы