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 が入っているから、自分でわざわざ設定を追加しなくてもデフォルト設定で使う分には困らないんだなー。