Goで複数パッケージのカバレッジをまとめて取りたい場合はgotestcoverが便利
以前、複数パッケージ構成のgolangのプロジェクトのカバレッジを測定しcoverallsに投稿するというのを書いたわけです。ただ、毎回新しいプロジェクトを始める度にこのシェルスクリプトをコピペするのもダルくなってきたので、Goでちゃんと書くかーとか思ったわけですが、その前に、当該のissueの様子を見に行ったら、まだ解決はしてなかったものの、いくつか同様のことができるGoのツールが紹介されていた。
その中だと、gotestcover が良さそうであった。go test
と同じ引数を取るので難しくない。複数パッケージのテストを並行実行できるのも良い。
一箇所ちょっとだけ気になる点があったので、p-rを送って取り込んでもらった。
goverallsと組み合わせて以下のように.travis.yml に書いておけば簡単にカバレッジが取れて便利。
script:
- gotestcover -v -covermode=count -coverprofile=.profile.cov ./...
after_script:
- goveralls -coverprofile=.profile.cov
ということで使っていこうと思います。