2017-08-16 10 views
2

ブラウザでChromeを使用し、phantomjsでビルドサーバーでテストをローカルに実行します。ジャスミンテストさまざまなブラウザを使用した角型アプリケーション

browsers: ['PhantomJs'], 
singleRun: true 

私はこれ、NPMのテストを実行して、私のビルドサーバー上でテストを実行します。どのように私はkarma.conf.jsに、私は、この設定を使用して、私のビルドサーバー上

module.exports = function (config) { 
    config.set({ 
    basePath: '', 
    frameworks: ['jasmine', '@angular/cli'], 
    plugins: [ 
     require('karma-jasmine'), 
     require('karma-chrome-launcher'), 
     require('karma-phantomjs-launcher'), 
     require('karma-jasmine-html-reporter'), 
     require('karma-coverage-istanbul-reporter'), 
     require('karma-trx-reporter'), 
     require('@angular/cli/plugins/karma') 
    ], 
    client:{ 
     clearContext: false // leave Jasmine Spec Runner output visible in browser 
    }, 
    files: [ 
     { pattern: './<%= sourceDir %>/test.ts', watched: false }, 
    ], 
    preprocessors: { 
     './<%= sourceDir %>/test.ts': ['@angular/cli'] 
    }, 
    mime: { 
     'text/x-typescript': ['ts','tsx'] 
    }, 
    coverageIstanbulReporter: { 
     reports: [ 'html', 'lcovonly' ], 
     fixWebpackSourcePaths: true 
    }, 
    angularCli: { 
     environment: 'dev' 
    }, 
    reporters: config.angularCli && config.angularCli.codeCoverage 
     ? ['progress', 'coverage-istanbul', 'trx'] 
     : ['progress', 'kjhtml', 'trx'], 
    trxReporter: { 
     outputFile: 'test-results.trx', 
     shortTestName: false 
    }, 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: ['Chrome'], 
    singleRun: false 
    }); 
}; 

を提出することを設定することができますng testを起動します。 この設定ファイルに直接設定する方法はありますか、別のkarma.conf.jsファイルを使用する必要がありますか?そして、私はこれをどのように使うべきですか?または、ngテストでいくつかの引数を使用する必要がありますか?

答えて

0

私は私のパッケージの設定で、あなたのヒントについて

"test": "ng test --single-run --browsers=PhantomJS", 
"test.watch": "ng test --browsers=Chrome", 
1

私がしたことは、testtest-chromeと呼ばれるテスト(基本的にカルマスタートを実行)を引き起こすために2つの異なるnpmスクリプトが使用されています。その後karma.conf.jsに私がmodule.exports前にこれをしなかった:

var ENV = process.env.npm_lifecycle_event; 
var isChrome= ENV === 'test-chrome'; 

と設定して:あなたのケースでは

browsers: isChrome? ['Chrome'] : ['PhantomJS'] 

、ローカルでテストクロムを実行することができ、そしてちょうどビルドでテストサーバ。

+0

おかげでいくつかのスクリプトを使用していいとシンプルな解決策を見つけました。今私は良い解決策を私のために見つけた – cpiock

+0

あなたは大歓迎です。あなたは、質問が閉じられるようにあなたの答えを受け入れたものとしてマークする必要があります。 –

関連する問題