2013-12-17 Coverallsを試す
Backlog API wrapper for Node.jsでCoverallsを試す。
Coverallsはテストカバレッジの履歴を管理したり、バッジ表示するサービス。昨日書いたTravis CIと連携されることも多い。あくまで取得は各言語のライブラリで実施して、その結果を送って管理してもらう。テストカバレッジなどは自分で実施すると飽きるとやめてしまうことも多いので、こういうサービスをいかしたい。
前に書いたとおり、あくまで実施はそれぞれで行う。Node.jsの場合も色々なやりかたはあるみたい。
ぼくの場合は、visionmedia/mochaを使っているので、それと連携できるもの。今回はfishbar/jscoverageとcainus/node-coverallsとStevenLooman/mocha-lcov-reporterとを使った。
jscoverage lib/
とするとlib-cov/
にカバレッジをとれるように変換されたコードを出力できる。それを使ってmocha -R mocha-lcov-reporter
で実行すると、coverallsに送れる形式のデータで出力される。ひとつにまとめるとjscoverage lib && BACKLOG_API_COV=1 mocha -R mocha-lcov-reporter | coveralls
となる。BACKLOG_API_COV
を使って、lib/
とlib-cov/
とを切り替えている。別のモジュールを使った例だが、alanshaw/nodeunit-lcov-coveralls-exampleが分かりやすい。
Coverallsはちょっと扱いが難しくて、Travis-CIなら最後にafter_success:
にでも書いていれば動くけど、ローカルから実行しようとするとrepo_token
などが要る。
気が向いたらまたまとめよう。とりあえずの手順。
.gitignore
にlib-cov/
を追加npm install --save-dev jscoverage coveralls mocha-lcov-reporter
を実行package.json
のscript
に"coveralls": "jscoverage lib && APP_COV=1 mocha -R mocha-lcov-reporter | coveralls"
を追加index.js
でAPP_COV
を使ってlib
/lib-cov
を切り替え.travis.yml
にafter_success:
で- npm run-script coveralls
とする- Travis CIで管理
ぼくならこれで十分かなあ。あとはコードを改善する、と。
38 min.