2016-06-11 133 views
1

我想爲我的Angular項目使用Travis CI。我已經建立了一個通過本地的單元測試,但是我在Travis CI中失敗了。業績測試在本地通過,但與特拉維斯CI在角落失敗

我不確定是否遺漏了我在本地獲得的任何Travis組件。由於在Heroku中的部署,我需要使用一些安裝了使用涼亭的組件。不過,我正在調用特拉維斯的bower安裝,以便在測試時可以使用這些組件。

我已經研究過這個問題,但在SO或其他地方找不到類似的問題。

任何幫助表示讚賞。

的package.json的依賴關係是:

"dependencies": { 
"bower": "^1.7.9", 
"express": "^4.13.4", 
"http-server": "^0.9.0", 
"jasmine-core": "^2.4.1", 
"karma": "^0.13.22", 
"karma-chrome-launcher": "^1.0.1", 
"karma-cli": "^1.0.0", 
"karma-jasmine": "^1.0.2", 
"protractor": "^3.3.0" 
}, 
"devDependencies": { 
"grunt": "^1.0.1", 
"grunt-protractor-runner": "^3.2.0", 
"grunt-protractor-webdriver": "^0.2.5", 
"karma": "^0.13.22", 
"karma-firefox-launcher": "^1.0.0", 
"karma-jasmine": "^1.0.2" 
} 

我在bower.json依賴是:

"dependencies": { 
    "angular": "^1.5.5", 
    "angular-mocks": "^1.5.5", 
    "oauth-signature": "^1.3.1" 
} 

karma.conf.js文件如下:

module.exports = function(config){ 
    config.set({ 

    basePath: '../', 

    files: [ 
     'app/bower_components/angular/angular.js', 
     'app/bower_components/angular-mocks/angular-mocks.js', 
     'app/bower_components/angular-route/angular-route.js', 
     'app/env.js', 
     'app/js/app.js', 
     'app/js/**/*.js', 
     'test/unit/**/*.js', 

    ], 

    singleRun: true, 

    autoWatch: true, 

    frameworks: ['jasmine'], 

    browsers: ['Firefox'], 

    plugins: [ 
     'karma-firefox-launcher', 
     'karma-jasmine' 
    ] 
    }); 
}; 

是通過在本地測試是:

describe('resultsFactory', function() { 

    beforeEach(module('summerApp')); 

    var result; 

    beforeEach(inject(function(resultsFactory) { 
    result = new resultsFactory('location'); 
    })); 

    it('location is available', function(){ 
    expect(result.location).toEqual('location'); 
    }); 
}); 

和我.travis.yml如下:

language: node_js 
node_js: 
    - "6" 
before_install: 
    - "export DISPLAY=:99.0" 
    - "sh -e /etc/init.d/xvfb start" 
install: 
    - npm install 
    - bower install 
script: 
    - npm run test-single 

腳本測試單中的package.json是

因緣開始test/karma.conf.js --single-run

最後,我在Travis CI中得到的錯誤是:

> karma start test/karma.conf.js --single-run 
11 06 2016 18:46:48.521:WARN [watcher]: Pattern "/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular-route/angular-route.js" does not match any file. 
11 06 2016 18:46:48.566:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/ 
11 06 2016 18:46:48.572:INFO [launcher]: Starting browser Firefox 
11 06 2016 18:46:50.357:INFO [Firefox 31.0.0 (Linux 0.0.0)]: Connected on socket /#ebdoQGJ5-EkK88VnAAAA with id 72213403 
Firefox 31.0.0 (Linux 0.0.0): Executed 0 of 1 SUCCESS (0 secs/0 secs) 
Firefox 31.0.0 (Linux 0.0.0) resultsFactory location is available FAILED 
minErr/<@/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular/angular.js:68:5 
loadModules/<@/home/travis/build/tigretoncio/I-know-what-you-will-do-this- summer/app/bower_components/angular/angular.js:4631:1 
[email protected]/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular/angular.js:322:11 
[email protected]/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular/angular.js:4591:5 
[email protected]/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular/angular.js:4513:7 
[email protected]/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/app/bower_components/angular-mocks/angular-mocks.js:3060:9 
TypeError: result is undefined in /home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/test/unit/resultsFactory.spec.js (line 12) 
@/home/travis/build/tigretoncio/I-know-what-you-will-do-this-summer/test/unit/resultsFactory.spec.js:12:5 
Firefox 31.0.0 (Linux 0.0.0): Executed 1 of 1 (1 FAILED) (0 secs/0.019 secs) 
(1 FAILED) ERROR (0.006 secs/0.019 secs) 
npm ERR! Linux 3.13.0-40-generic 
npm ERR! argv "/home/travis/.nvm/versions/node/v6.2.1/bin/node" "/home/travis/.nvm/versions/node/v6.2.1/bin/npm" "run" "test-single" 
npm ERR! node v6.2.1 
npm ERR! npm v3.9.3 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] test-single: `karma start test/karma.conf.js --single-run` 
npm ERR! Exit status 1 

回答

1

看看錯誤消息,Travis無法找到角路由,因爲它不作爲依賴項包含在您的bower.json中。

+0

謝謝!事實上,在bower.json中添加角度路由作爲依賴關係使得構建在Travis中傳遞 – Sergioet

相關問題