今年に入って3回ぐらい、simplecovでbranch coverage取れるよという話をしていて、意外とみんな知らないのでは?と思ったので、こちらでも記しておきます。
設定
Branch coverage (ruby “~> 2.5”)
こちらに記載されていますが、ruby2.5以降は、enable_coverage :branch
1行入れるだけで有効になります。
railsだと以下のようになります。
|
|
詳細はこんな感じ
line coverageとしては満たしていますが、elseのcaseが満たされていないというのが分かります。
注意事項
githubのREADMEにも記載されていますが、branch coverage便利なので、これだけ見れば良いと思う人がいるかもしれませんが、 branch coverageはあくまで条件が実行されているかを見るものですので、line coverageと合わせてみる必要があります。