ということをやったので自分向けの備忘録です。今回やったプロジェクトのカバレッジはここです。

めざすところ


  • GitHubにpush
  • TravisCIでカバレッジレポートとる
  • Coverallsに送信

とこんな感じです。

やりかた


以前にC#で似たようなことをやったときはエライ苦労したのですが、今回はsbt-pluginがあったのであっさりと終わってしまいました。

前提

別の記事で書いたユニットテストが既に設定されているものとします。

プラグイン設定

plugins.sbtに下記のプラグインを追加します。バージョンは使用するものにあわせて変えて下さい。

1
addSbtPlugin("org.scoverage" % "sbt-coveralls" % "1.2.5")

Travis設定

.travis.ymlに下記の設定を記述します。

1
2
3
script:
- "sbt clean coverage test"
after_success: "sbt coverageReport coveralls"

ちなみに前述のプロジェクトの.travis.ymlは全部で下記のような感じで書いてます。

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo: false
language: scala
scala:
- 2.12.6
jdk:
- oraclejdk8
script:
- "sbt clean coverage test"
after_success: "sbt coverageReport coveralls"
cache:
directories:
- $HOME/.ivy2/cache
- $HOME/.sbt/launchers

これで終わりです。なんや、簡単すぎません??

pushしてみる


まあ、ちょっと画像が小さいので見辛いのですが、テスト実行後にCoverallsにレポートが送信されている旨のログが記録されてます。

で、Coveralls側ではこんな感じでカバレッジレポートが表示されます。

やろうと思ってから10分もかからんうちに終わってしまいました。これくらい楽な方がいいですね。