2016-08-04 3 views
0

일반적으로 Karma는 여러 브라우저에서 테스트를 실행할 수 있습니다. 어떻게 든 트래비스에 대해 동일한 테스트를 실행할 수 있습니까?여러 브라우저에서 travis - karma 테스트를 실행 하시겠습니까?

내가 아는 한 Chrome은 travis 설정 파일에 약간의 수정이 필요합니다. https://stackoverflow.com/a/25661593/607033

이 수정 사항은 다른 브라우저 (예 : Firefox, Opera, Msie, PhantomJS 등)를 방해합니까? travis에서 실행하고 싶습니까?

module.exports = function (config) { 
    var options = { 
     plugins: [ 
      "karma-browserify", 
      "karma-chrome-launcher", 
      "karma-firefox-launcher", 
      "karma-ie-launcher", 
      //"karma-opera-launcher", 
      "karma-phantomjs-launcher", 
      "karma-mocha" 
     ], 
     ... 
     browsers: [ 
      "Chrome", 
      "Firefox", 
      "IE", 
      //"Opera", 
      "PhantomJS" 
     ] 
    }; 

    if (process.env.TRAVIS) { 
     options.customLaunchers = { 
      Chrome_travis_ci: { 
       base: 'Chrome', 
       flags: ['--no-sandbox'] 
      } 
     }; 
     options.browsers = [ 
      "Chrome_travis_ci", 
      "Firefox", 
      //"IE", 
      //"Opera", 
      "PhantomJS" 
     ]; 
    } 

    config.set(options); 
}; 

다음과 같은 .travis.yml :

답변

0

나는 다음과 같은 karma.conf.js 파일로 올라와있다

language: node_js 
node_js: 
    - "5" 
before_install: 
    - export CHROME_BIN=chromium-browser 
    - export DISPLAY=:99.0 
    - sh -e /etc/init.d/xvfb start 

인터넷 익스플로러

는 Windows 환경에서만 작동하고, 그래서 Travis는 리눅스를 사용하기 때문에 지원하지 않습니다. karma-opera-launcher에는 심각한 버그가있어서 Travis와 Windows에서 사용할 수 없었습니다. 플러그인의 github 페이지에 따르면 Linux에서 작동해야하지만, 더 많은 시간을 투자하고 싶지는 않습니다.

그래서 수정 사항이 필요하며 맞춤 런처에 포함되어 있기 때문에 수정 사항이 서로 방해하지 않습니다. PhantomJS가 아닌 모든 브라우저는 .travis.yml에 display 및 xvfb가 필요합니다.

또 다른 가능한 솔루션은 SauceLabs를 사용하는 것이지만이 테스트는 저에게 중요하지 않으므로 250 달러/y를 지불하고 싶지는 않습니다.

관련 문제