能否设置Travis来运行多种语言的测试?

45

我有一个Rails项目,并通过Karma来运行我的JavaScript测试(Jasmine)。

.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构建失败,说它找不到karma。有没有办法将node_js定义为另一种语言并在构建虚拟机上安装karma?


1
FYI https://github.com/travis-ci/travis-ci/issues/4090 表明他们不会很快支持它。 - Jeff Hammond
3个回答

52

目前在travis配置文件中还不支持使用多种语言。

另一方面,所有环境都运行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

谷歌群组中的一篇旧帖子上找到了帮助


1
我的 .travis.yml 配置文件可以运行 Go 和 Javascript 测试。 - OrangeTux
2
这是我如何运行更新的Node.js安装程序以及其他语言的方式。具体可以参考: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"
},

最后,我了解到Travis是区分大小写的,所以:

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

在我的 karma.conf.js 中需要的是:
'bower_components/jQuery/dist/jquery.min.js',

2
当在.travis.yml文件中的language键设置为node时,Travis会在构建开始时运行nvm install 0.12。同样地,在Ruby项目中,Travis会在构建开始时运行rvm use 2.2.2 --install --binary --fuzzy
我曾成功地在Bash构建中运行这两个命令。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接