Angular でカバレッジレポートを出力する
Angular では標準でkarmaというカバレッジレポートを出力する機能があるようです。
ですが、デフォルトのnpm scriptsコマンド(ng test)ではカバレッジが出力されません。
1 |
ng test --code-coverage |
と実行すると、srcと同一の階層にcoverageというフォルダが作成され、カバレッジレポートを指定した形式(htmlなど)で見ることができます。(coverage/index.html)
テスト実行が終われば、Chromeでauto-openしてほしいのですが、その機能があるのかよくわかりません。nyc+mochawesomeならあるので、karma.conf.jsの設定次第では可能かもしれません。
karma.conf.js
以下はkarma.conf.jsにdefaultで設定されているプラグインです。
1 2 3 4 5 6 7 |
plugins: [ require('karma-jasmine'),// karmaとjasmineでテストする require('karma-chrome-launcher'), // chromeでkarmaのテストを実行してくれる require('karma-jasmine-html-reporter'),// debug.htmlに結果をレポートしてくれる require('karma-coverage-istanbul-reporter'),// coverageIstanbulReporterやreporterの設定ができる require('@angular-devkit/build-angular/plugins/karma')// よくわかりません ] |
coverageIstanbulReporterの設定はデフォルトで以下になっています。
1 2 3 4 5 |
coverageIstanbulReporter: { dir: require('path').join(__dirname, '../coverage'), reports: ['html', 'lcovonly'], fixWebpackSourcePaths: true }, |
これに‘text-summary’を追加します。
1 2 3 4 5 |
coverageIstanbulReporter: { dir: require('path').join(__dirname, '../coverage'), reports: ['html', 'lcovonly','text-summary'], fixWebpackSourcePaths: true }, |
テスト実行後にテキストベースでカバレッジレポートが出力されるようになります。

関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
Python3.6,Djangoを勉強中です,Javaは少し飽きてしまってます–;
組込を社内で見習い勉強中です!
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^