RailsでCucumberのカバレッジをとる方法メモ
RailsでCucumberでテストを行った際のカバレッジをとってみたので、その手順をメモ
参考URL http://wiki.github.com/aslakhellesoy/cucumber/using-rcov-with-cucumber-and-rails
rcovのインストール
参考にしたgithubのwikiではrcovではなくてspicycode-rcovを推奨していたのでそれを使う
$ sudo gem sources -a http://gems.github.com #すでにgemのソースにgithubを設定している人はこの手順は不要です $ sudo gem uninstall rcov #まだrcovを入れていない場合はこの手順は不要です $ sudo gem install spicycode-rcov
cucumber.rakeの修正
{RAILS_ROOT}/lib/tasks/cucumber.rake以下のように修正
参考サイトには、予約後を英語で使用する設定が書かれているので注意が必要
desc "Run all features" task :features => 'db:test:prepare' task :features => "features:all" require 'cucumber/rake/task' namespace :features do Cucumber::Rake::Task.new(:all) do |t| t.cucumber_opts = "--format pretty --l ja" # --l jaを追加(予約語を日本語で書いている場合) end # ~ここからrcovの設定~ Cucumber::Rake::Task.new(:rcov) do |t| t.cucumber_opts = "--format pretty --l ja" # 追加(予約後を日本語で書いている場合) t.rcov = true t.rcov_opts = %w{--rails --exclude osx\/objc,gems\/,spec\/} t.rcov_opts << %[-o "features_rcov"] end # ~ここまで~ end