https://coveralls.io というものがあり
CIのcoverageがweb上で参照できるサービスがあります。
Github上にバッチも表示できて嬉しいです。
karma-coveralls
jsのテストでは利用したことがなかったのですが、karmaだとプラグインが用意されていて
簡単に導入できました。
caitp/karma-coveralls: A Karma plugin to upload coverage reports to coveralls.io
installして、設定ファイルを修正、各サービスの設定をちょろっと変更するだけでok。
install
$ npm install karma-coveralls --save-dev
karma.conf.js
以下を設定します。
reporters: ['coverage', 'coveralls'], coverageReporter: { type: 'lcov', // lcov or lcovonly are required for generating lcov.info files dir: 'coverage/' }
実際はTravisCIの場合のみ有効にしておけば良いので、このようになります。
if (process.env.TRAVIS) { var configuration = { customLaunchers: { chromeTravisCi: { base: 'Chrome', flags: ['--no-sandbox'] } }, browsers: ['chromeTravisCi'], reporters: ['coverage', 'coveralls'], coverageReporter: { type: 'lcov', // lcov or lcovonly are required for generating lcov.info files dir: 'coverage/' } } config.set(configuration); }
coveralls/travis設定
https://coveralls.io でプロジェクトを選んで有効にすると
tokenが発行されますので、その値を TravisCIの設定画面で環境変数として設定します。
環境変数名は、COVERALLS_REPO_TOKEN 。
あとはpushすればテストがTravisCI上で実行され、coverallsにcoverageが連携されます。
ちなみにバッジは以下のようにcoverallsでコピペできるようになっています。