我有一个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失败了,说它没有找到因果报应。有没有一种方法可以将node_js定义为另一种语言并在构建VM上安装karma?
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
在谷歌群组的旧线程上找到的帮助
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',
当.travis.yml
中的language
键设置为node
时,Travis将在构建开始时运行nvm install 0.12
。类似地,对于Ruby项目,Travis将在构建开始时运行rvm use 2.2.2 --install --binary --fuzzy
。
我已经成功地在Bash构建中运行了这两个命令