Travis CIとCoverallsを使って、GitHubに公開しているJavaプログラムのカバレッジを測定する方法を以下に記載する(Mavenで管理されたJavaプロジェクトを想定)。
Travis CIとCoverallsの連携にはCoverallsの公式ページ(以下)で紹介されているcoveralls-maven-pluginを利用した。
ステップ1(事前準備)
GitHubとTravis CIの連携は以下のサイト等を参考に実施しておく。
また、Coverallsのサイトにログインして、カバレッジ計測対象のGitHubリポジトリを有効化しておく。
ステップ2(pom.xmlの編集)
Javaプロジェクトのpom.xmlに以下を追加する。
<plugin> <groupId>org.eluder.coveralls</groupId> <artifactId>coveralls-maven-plugin</artifactId> <version>2.2.0</version> </plugin>
GitHubのcoveralls-maven-pluginのREADMEを見ると、CoverallsのRepo Tokenも書いているが、GitHubの公開リポジトリを利用している場合には、記載してはダメのようだ。
次にpom.xmlに以下のような記載を追加することで、利用するカバレッジ測定ツールを指定する(以下はCoberturaの例)。JaCoCo等を使う場合にはcoveralls-maven-pluginのREAMMEを参照。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.6</version> <configuration> <format>xml</format> <maxmem>256m</maxmem> <!-- aggregated reports for multi-module projects --> <aggregate>true</aggregate> </configuration> </plugin>
ステップ3(.travis.ymlの編集)
GitHubとTravis CI連携用に.travis.ymlファイルを作成していると思うが、その.travis.ymlに以下を追加する。
after_success: - mvn clean cobertura:cobertura coveralls:cobertura
以上で準備は完了。
GitHubにソースコードをpushすると、自動的にTravis CIでビルドとテストが走り、その後テストデータがCoverallsに自動転送され、テストの統計データを見られるようになる。
CoverallsのプロジェクトページのTECHNICAL DETAILSにバッジが表示されているが、以下のようにカバレッジ率が表示されていれば(unknownじゃなくなっていれば)連携成功である。