TeamCityビルドサーバーでAngular CLIプロジェクトの単体テストを実行しようとしています。"ng test"はカバレッジレポートとTeamCityレポートを同時に実行できません
私はコマンドを使用する場合:その後、
ng test --single-run --code-coverage
を、予想通り、私はテストカバレッジレポートを取得しかし、個々のテスト結果はチームシティーでは表示されません。
私は報告チームシティーをオンにした場合:
ng test --single-run --code-coverage --reporters teamcity
を、その後のテストに合格し、チームシティー報告が完璧に動作しますが、それは静かにコードカバレッジレポートを生成するために失敗しました。この動作はローカルマシン上で再現可能なので、ビルドサーバーの設定方法とは関係ありません。
これらの2つのオプションが互いに排他的である必要がある理由はありますか?
注 - これはConfiguring code coverage report for Karma on TeamCityと同じ問題ではありません。レポートがある場合、TeamCityは正しく表示しますが、TeamCityレポートフラグをオンにすると、カバレッジフォルダは存在しません。
追加情報:
- 角度-CLIバージョン1.0.0-rc.4
- カルマバージョン1.4.1
- ノードのバージョン(最初1.0.0-rc.1を使用して発見した問題) 6.9.4
- のWindows 7エンタープライズ
カルマ構成:
// Karma configuration file, see link for more information
// https://karma-runner.github.io/0.13/config/configuration-file.html
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular/cli/plugins/karma'),
require('karma-teamcity-reporter')
],
client:{
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/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']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
こんにちは、これらのレポートの出力はどのディレクトリにありますか? – Coolbreeze
コードカバレッジレポートは、プロジェクトのルートの下にある「カバレッジ」というディレクトリ内の一連のHTMLファイルです。 TeamCityレポート(単体テストの結果)は標準出力に送られ、テストがTeamCityビルドサーバー上で実行されている場合にのみ有効です。私のローカルマシンでビルドを実行するとき、TeamCityレポートをオフにして、端末のノイズを減らします。 –