今回はカバレッジを簡単に計測できるツールSimpleCovについて簡単にまとめたので紹介したいと思います。SimpleCovは無料で使用することができ、html形式のレポートも出力してくれるためRails(Ruby)プロジェクトのカバレッジツールとしては一番使われているツールになります。参考設定まとめ参考カバレッジとはカバレッジとはテスト対象のプログラムコードの内、テストがどれだけ網羅されているかを%(パーセント)で表したものです。言うと、どれだけテストコードが網羅されているかを表す指標になります。カバレッジは、所定の網羅条件がテストによってどれだけ実行されたかを割合で表したものです。網羅条件が命令であれば、命令網羅と呼ばれ(またはステートメントカバレッジ、C0とも呼ばれます)、すべての実行可能な命令のうち、テストで実行された命令の割合を意味します。そのほかに、すべての判定条件(if文による分岐など)のうち、テストで実行された判定条件を意味する判定条件網羅(ブランチカバレッジ、C1とも呼ばれます)などがあります。カバレッジ(網羅率)分析とはカバレッジを計測する目的カバレッジを計測する目的はプロダクトコードを網羅して品質を保つためです。カバレッジを高めることでバグを減らし、プロダクトコードの品質を担保することができます。反対にカバレッジが十分でない場合はプロダクトコードの品質が担保できず、バグが潜んでいる可能性が高くなってしまいます。いった理由からカバレッジを常に計測することで、高品質のプロダクトを維持することが可能になります。SimpleCovとはSimpleCovとはRuby用のカバレッジ計測ツールです。SimpleCovは無料で使用することができ、html形式のレポートも出力してくれるためRails(Ruby)プロジェクトでは一番使われているカバレッジ計測ツールだと思います。endendrspecを実行し、以下のような結果が表示されれば成功です。failures【RSpec導入】RubyのテスティングフレームワークRSpecについて初心者向けにまとめてみたプログラミングにおけるテストについて、RSpecと呼ばれるテスト独自の言語を用いながら解説しています。作成したwebサービスが正しく動くかどうかを試験することで、事前にエラーになり得る箇所を発見できたり、要件漏れを防ぐことができます。'simplecov'と記載するだけで使用可能になります。installSimpleCoveの読み込みと起動を行う記述をspec_helper.rbの最上部に記載します。rspec実行時にカバレッジレポートがcoverage/index.htmlに出力され、カバレッジ結果を確認することができるようになります。rspecカバレッジレポートはcoverage/index.htmlに出力されています。coverage/index.htmlをターミナルで実行しカバレッジを確認してください。ここまでがSimpleCovの基本的な使い方になります。カバレッジファイルをGitで追跡しない以下の記述を.gitignoreに追加することで、カバレッジ結果がGitで追跡されないようになります。追加しておくべきオプションの1つになります。:branchを追記することで、Branchカバレッジを計測することができるようになります。追加しておくべきオプションの1つになります。:branchendBranchカバレッジはRuby2.5から導入された機能です。終了動作のカスタマイズ最低カバレッジ・最大カバレッジを設定することで、それらを満たさなかった場合に動作を終了することができます。カバレッジ計測対象の除外(ファイル毎)add_filterを使用することでカバレッジ対象から除外することができます。カバレッジ計測対象の除外(コード毎)上記ではファイル毎でカバレッジ計測対象を除外していましたが、:nocov:を設定することでコード毎に計測対象から除外することも可能です。計測結果のグループ化add_groupを使用することで、指定した内容計測結果をグループ化しタブに分けて表示することが可能になります。グループ化されていないファイルに関してはUngroupedというタブに分類されます。最後にSimpleCovの参考設定を載せておきます。SimpleCov今回はカバレッジを簡単に計測できるツールSimpleCovについて紹介しました。これを機にSimpleCovを用いてカバレッジを計測し、プロダクトの品質を担保しながら開発を進めていただけたらと思います。yoshi19941117TechTechMedia【Rails】使い所がいまいち分からないtapメソッドが実は便利だったの...【Rails】モデル名を直接指定できるclass_nameオプションにつ...Railsエンジニアちばよしはる銀座にあるヘルステック企業のRailsエンジニア。初心者から中級者向けに記事を更新しています。お酒とカレーと競馬が好き。TechTechMedia。