simplecovでbranch coverageを有効にする方法

simplecovの例

今年に入って3回ぐらい、simplecovでbranch coverage取れるよという話をしていて、意外とみんな知らないのでは?と思ったので、こちらでも記しておきます。

設定

Branch coverage (ruby “~> 2.5”) こちらに記載されていますが、ruby2.5以降は、enable_coverage :branch 1行入れるだけで有効になります。
railsだと以下のようになります。

1
2
3
SimpleCov.start 'rails' do
  enable_coverage :branch
end

詳細はこんな感じ

simplecov_branch_detail line coverageとしては満たしていますが、elseのcaseが満たされていないというのが分かります。

注意事項

githubのREADMEにも記載されていますが、branch coverage便利なので、これだけ見れば良いと思う人がいるかもしれませんが、 branch coverageはあくまで条件が実行されているかを見るものですので、line coverageと合わせてみる必要があります。

updatedupdated2021-11-202021-11-20
コメントを読み込みますか?