simplecovとsimplecov-rcovを使ってJenkinsでカバレッジを確認

Tags: [ Windows ] [ Jenkins ] [ Ruby ] [ 備忘録 ] Published: 2012/03/27

あらすじ

rcovインストールに思いの他てこずったので他のツールを検討してみる。

調べるとsimplecov,simplecov-rcovというツールでもいける様子。Ruby1.9系のカバレッジツールらしいが1.8でも使えるだろうか。あとRailsじゃなくても使えるのかな。

参考サイト

手順(Getting Startedをかなりはしょりながら)

Simplecov

Gemfileに以下を追加。

gem 'simplecov'

次にspecファイルに以下のrequireを追加。

require 'simplecov'
SimpleCov.start

そしてrspecを実行。

$ bundle exec rspec -fs spec\convert_spec.rb
WARNING: SimpleCov is activated, but you're not running Ruby 1.9+ - no coverage analysis will happen
WARNING: SimpleCov is activated, but you're not running Ruby 1.9+ - no coverage analysis will happen

やっぱ1.8じゃだめかー。ちょっとRuby1.9系で試してみる。

$ bundle exec rspec -fs spec\convert_spec.rb

(略)

Coverage report generated for RSpec to C:/project/excel_for_ruby/coverage. 87
/ 93 LOC (93.55%) covered.

テストは失敗したけど、coverageディレクトリが作成された! 中のindex.htmlを開くと……。

おおー!

Simplecov-rcov

JenkinsのRuby metrics plugin用にSimpleCovで出力したカバレッジをrcovフォーマットになおしてくれる?

Gemfileに以下を追加。

gem 'simplecov-rcov'

次にspecファイルに以下のrequireを追加。

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

そしてrspecを実行。

$ bundle exec rspec -fs spec\convert_spec.rb

(略)

Coverage report Rcov style generated for RSpec to C:/project/excel_for_ruby/coverage/rcov

ちょっと表記が変わった。coverageの下にrcovという新しいディレクトリが出来ている。その下にindex.html。

Jenkins

  • Jenkinsの管理 -> プラグインの管理からRuby metrics pluginをインストール
  • プロジェクトの設定 -> ビルド後の処理 -> Publish Rcov reportにチェック

Author: kk_Ataka / Powered by Jekyll on GitHub Pages