2017-06-01 14 views
1

私はカルマでJUnit記者を使用しようとしています。角度単位テスト:カルマのレポーターを変更できません

私はそれはいつも私を出力

$ ng test --watch=false --code-coverage 

起動すると

10% building modules 1/1 modules 0 active01 06 2017 11:57:51.797:ERROR 
[reporter]: Can not load reporter "coverage-istanbul", it is not registered! 

、私karma.conf.jsonに私はイスタンブールへの参照がないという問題点:

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-junit-reporter'), 
     require('karma-mocha-reporter'), 
     require('@angular/cli/plugins/karma') 
    ], 
    files: [ 
     { pattern: './src/test.ts', watched: false } 
    ], 
    preprocessors: { 
     './src/test.ts': ['@angular/cli'] 
    }, 
    mime: { 
     'text/x-typescript': ['ts', 'tsx'] 
    }, 
    junitReporter: { 
     outputDir: 'coverage', // results will be saved as $outputDir/$browserName.xml 
     useBrowserName: false, // add browser name to report and classes names 
     outputFile: 'test-report.xml', // if included, results will be saved as $outputDir/$browserName/$outputFile 
    }, 
    angularCli: { 
     config: './angular-cli.json', 
     environment: 'dev' 
    }, 
    reporters: config.angularCli && config.angularCli.codeCoverage ? 
     ['mocha', 'junit'] : 
     ['mocha'], 
    port: 9876, 
    colors: true, 
    logLevel: config.LOG_INFO, 
    autoWatch: true, 
    browsers: [ 
     'PhantomJS', 
     // 'Chrome' 
    ], 
    singleRun: false 
    }); 
}; 

はあなたがいずれかを持っていますがそれはどこから来るのだろうか?

package.jsonファイルでistanbulを参照しているパッケージもすべて削除しましたが、確かにnpm pruneも使用しました。

答えて

2

Angular CLIプロジェクトで問題を書きましたが、code coverageオプションを使用すると、設定したものにかかわらずistanbulパッケージが自動的に追加されます。私が使用するコマンドは、上記のエラーを取り除くためにインストールすることになりました

ng test --reporters=junit --watch=false || ECHO 
0

右パッケージされている。

カルマ・カバレッジ・イスタンブール・レポーター

npm install karma-coverage-istanbul-reporter --save-dev

関連する問題