トップ «前の日記(2013/08/15 (木) ) 最新 次の日記(2013/08/17 (土) )» 編集 RSS feed

HsbtDiary


2013/08/16 (金) [長年日記]

[ruby] SimpleCov のグループを柔軟に変える

Rails で SimpleCov でテストのカバレッジを可視化する時にだいたい rails プロファイルを使うと思うけど、別に特別なことはやっていなくて 素朴に exclude と group を設定しているだけなので、自分のプロジェクトに合うようにカスタマイズすると捗る。

例えば、今のプロジェクトだと、APIのカバレッジは気にしたいので test_helper.rb に下のように設定して、Controllers 全体とは別にしている。

 SimpleCov.start do
   add_filter '/test/'
   add_filter '/config/'
   add_filter '/vendor/'

   add_group 'Models', 'app/models'
   add_group 'Controllers', 'app/controllers/[a-zA-Z_]+\.rb'
   add_group 'API', 'app/controllers/api/'
   add_group 'Mailers', 'app/mailers'
   add_group 'Helpers', 'app/helpers'
   add_group 'Libraries', 'lib/'
end

グループのマージとかはできなくて全部正規表現で分割しないとダメなのがちょっとだるいけどしょうがない。あと、SimpleCov のコードを読んでみたけど、最近のは railtie が入っているから、自分でわざわざ設定を追加しなくてもデフォルト設定で使う分には困らないんだなー。