2016-10-13 11 views
6

私は次の構成とビットバケットプラットフォーム上でテストを実行しようとしている:角度2つのCLIに実行するテスト

image: node:6.8.0 

pipelines: 
    default: 
    - step: 
     script: 
      - echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/chrome.list 
      - wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - 
      - set -x && apt-get update && apt-get install -y xvfb google-chrome-stable 
      - ln -sf /usr/bin/xvfb-chrome /usr/bin/google-chrome 
      - npm --version 
      - npm install 
      - npm test 

そして、それは出力です:

> ng test 

Could not start watchman; falling back to NodeWatcher for file system events. 
Visit http://ember-cli.com/user-guide/#watchman for more info. 
13 10 2016 15:26:57.937:WARN [karma]: No captured browser, open http://localhost:9876/ 

WARNING in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js 
45:15 Critical dependency: the request of a dependency is an expression 

WARNING in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js 
57:15 Critical dependency: the request of a dependency is an expression 
13 10 2016 15:26:57.945:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/ 
13 10 2016 15:26:57.946:INFO [launcher]: Launching browser Chrome with unlimited concurrency 
13 10 2016 15:26:58.033:INFO [launcher]: Starting browser Chrome 
13 10 2016 15:26:58.421:ERROR [launcher]: Cannot start Chrome 

13 10 2016 15:26:58.532:INFO [launcher]: Trying to start Chrome again (1/2). 
13 10 2016 15:26:58.813:ERROR [launcher]: Cannot start Chrome 

13 10 2016 15:26:58.814:INFO [launcher]: Trying to start Chrome again (2/2). 
13 10 2016 15:26:59.049:ERROR [launcher]: Cannot start Chrome 

13 10 2016 15:26:59.050:ERROR [launcher]: Chrome failed 2 times (cannot start). Giving up. 

問題はそのカルマですクロムブラウザを起動できません。私は問題がどんなドッカー環境でも起こると思う。 ビットバケットパイプラインでテストを実行するにはどうすればよいですか?

+0

代わりにPhantomJSのようなヘッドレスブラウザを使用しますか? – jonrsharpe

+0

いいえ、カルマとプロクタの角度cliのデフォルト構成を使用します。クロムを使用する可能性はありますか、または私はファントムを使用する必要がありますか? – Serginho

+0

ヘッドレスブラウザ以外のブラウザを特に使用したいですか? Angular CLIプロジェクトのデフォルトはChromeですが、Phantomへの切り替えは簡単です(たとえば、my project https://github.com/textbook/known-for-webを参照)。あるいは、Sauce Labsやインストールなどのようなものに目を通してください。 Xvfb?これはbitbucketパイプラインに固有のようではありません。 – jonrsharpe

答えて

3

はPhantomJSの上にテストを切り替えてみてください。

はPhantomJSランナーhttps://github.com/karma-runner/karma-phantomjs-launcher

$ npm install --save-dev karma-phantomjs-launcher

これは今の代わりにクロームのPhantomJSでテストを実行する必要がありPhantomJS

// /karma.conf.js 
module.exports = function (config) { 
    config.set({ 
    // ... 
    plugins: [ 
     // ... 
     require('karma-phantomjs-launcher'), 
     // ... 
    ], 
    // ... 
    // browsers: ['Chrome'], 
    browsers: ['PhantomJS'], 
    phantomjsLauncher: { 
     // Have phantomjs exit if a ResourceError is encountered 
     // (useful if karma exits without killing phantom) 
     exitOnResourceError: true // Could require proxy if tests access images without /base path 
    }, 
    //... 
    }); 
}; 

を使用するために編集しkarma.conf.jsをインストールします。

デフォルトのテストスクリプトも監視されますので、package.jsonテストスクリプトを"test": "ng test --watch=false"に変更することをおすすめします。地方開発のためにウォッチを実行したい場合は、npm testの代わりにng testで起動してください。

関連する問題