ページ内ナビ
概要
SimpleCovはRuby標準のCoverageライブラリから実行情報を集め、テスト群をまたいで結果を統合・整形・表示するライブラリです。HTMLとJSONのレポート、行・分岐の基準値、対象ファイルの絞り込みやグループ化を設定できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
向いている用途
Rubyアプリのテスト不足を具体的な行から調べる
RSpec、Minitest、Railsなどのテスト実行に組み込み、変更で未実行になった処理や、テストから一度も読み込まれないファイルを継続的に見つけたいチームに向いています。
出典:[1]
導入前の確認
アプリケーションコードより先に計測を始める
SimpleCov.startは対象のアプリケーションコードを読み込む前に実行する必要があります。別プロセスで動くサーバーや並列テストでは各プロセスの計測と結果統合を設計し、数値だけでテスト品質を判断しないでください。
出典:[1]
参考にした公式資料
- [1]simplecov-ruby/simplecov README at reviewed commit(2026-10-04)
- [2]SimpleCov v1.3.2 release(2026-10-04)
- [3]SimpleCov MIT License(2026-10-04)
編集部からの補足
割合だけを目標にせず、どの行がどのテストで実行されたか、未計測ファイルが除外されていないかまで確認すると改善箇所を判断しやすくなります。
3ステップで試す
- 1
検証用Rubyプロジェクトを作る
空のディレクトリにGemfileと計測対象コード用のlibディレクトリを作成します。
mkdir simplecov-demo && cd simplecov-demo && bundle init && mkdir lib - 2
SimpleCovを追加する
Ruby 3.3以降の環境で、確認済みのv1.3.2をGemfileへ追加して依存関係を解決します。
bundle add simplecov --version 1.3.2 - 3
最小コードを計測する
SimpleCov.startの後でプロジェクト内のlib/demo.rbを読み込み、メソッドを実行します。最後に結果JSONを読み、対象ファイルと実行済み行が記録されたことを確認します。
printf '%s\n' 'module Demo' ' def self.answer' ' 42' ' end' 'end' > lib/demo.rb && printf '%s\n' "require 'simplecov'" "SimpleCov.start { cover 'lib/**/*.rb' }" "require_relative 'lib/demo'" "abort 'unexpected result' unless Demo.answer == 42" > driver.rb && bundle exec ruby driver.rb && ruby -rjson -e "r=JSON.parse(File.read('coverage/.resultset.json')); c=r.values.first.fetch('coverage'); f=c.keys.find { |p| p.end_with?('/lib/demo.rb') }; abort 'lib/demo.rb missing from report' unless f; abort 'no executed line recorded' unless c.fetch(f).fetch('lines').compact.any? { |n| n > 0 }; puts f"
成長
成長の推移 · 直近30日
4,927 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 42
- Open PR
- 0
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- WebMock4,049 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
RubyのHTTP requestを実networkへ送らずstubし、method・URI・header・bodyに対する期待値をtestで検証する
Ruby - Rswag2,202 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Railsのrequest specからAPIをテストし、OpenAPI文書とSwagger UIを生成する
Ruby - RSpec118 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Rubyの振る舞いをexample・expectation・test doubleで記述し、CLIで実行するBDDテスト基盤
Ruby - OpenProject16,304 Stars
共通タグ 2件 · 同じ言語
Gantt・Agile・工数・Wiki・会議を一つにまとめてセルフホストするプロジェクト管理基盤
Ruby - Sidekiq13,563 Stars
共通タグ 2件 · 同じ言語
Rubyアプリの処理をRedis互換ストアのキューへ渡し、複数スレッドで実行する
Ruby - RuboCop12,911 Stars
共通タグ 2件 · 同じ言語
Rubyコードの規約違反や不具合の兆候を調べ、修正候補も示す
Ruby
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。