リア充爆発日記

You don't even know what ria-ju really is.

Jenkinsでrspecで書いたテストのコードカバレッジを表示する

前回の「さくらのVPS+Jenkins+github+rails3」の続き。

どうせ俺一人だから通知とかいいや、それよりカバレッジ見てー。という気持ちになったのでやってみた。
もう、普段からrspecでテストしていることが前提条件。

こちらを参考にした。っていうかほぼそのまんま。こっちのほうが絵とかついているからオススメ。
http://techracho.bpsinc.jp/yamasita-taisuke/2012_05_20/5560

まずローカルでできるようにする。

超簡単だった。

Gemfileに追加
group :test do
~snip~
  gem 'simplecov'
  gem 'simplecov-rcov'
end

この2つを追加。bundle install。

spec/spec_helper.rbに追記

どたまのほうに

require 'simplecov'
require 'simplecov-rcov'
SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
SimpleCov.start 'rails'

こんだけ。

これでrspec実行すると、プロジェクト直下にcoverageというディレクトリができてその下にHTMLとかが吐かれている。
ということは、これをgitignoreしておかないとね。

coverage直下にあるindex.htmlが人間用。
caverage/rcov以下のがJenkins用らしい。

ちなみにおでのやつは97.06% だった。エヘ。

Jenkinsの設定

プラグインのインストール

以下2つが必要らしい。

  • Jenkins Rake plugin
  • Jenkins ruby metrics plugin

上のはすでにインスコしてあったので、metricsプラグインだけインスコ

プロジェクトの設定

プロジェクト > Configure に行くと、下のほうにPost-build Actionsていうのがあり、そこのプルダウンに"Publish Rcov Report"っていうのがあるから選択。

そーすると、どんだけカバーしてれば天気マークかとかそういう設定があるから適当に設定。現実的な範囲でね!
レポートファイルのパスも設定。

以上。