Freedom251 › Test Coverage Tools
SimpleCov

What SimpleCov is
SimpleCov is a free Ruby code coverage tool priced at $0 and licensed under MIT. It analyzes coverage using Ruby’s built-in Coverage library and can generate HTML and JSON reports or merge results from multiple test suites. Coverage options include line, branch, method, oneshot-line, and eval. Configuration supports filters, groups, profiles, and thresholds. Optional test tracking can show which RSpec examples or Minitest tests cover a line, while oneshot coverage can record production code usage. The command line supports report viewing, test selection, patch coverage, history, status, and badge commands. SimpleCov can calculate coverage for changed lines and apply a minimum threshold gate. With the Rails profile, reports can include ERB, Haml, and Slim templates. The project says it is built in CI on Ruby 3.2+ and JRuby 10+, although JRuby supports line coverage only. To track application files, SimpleCov must start before application code is required. The project directs code and bug reports to its issue tracker and discussion and announcements to a Google Groups mailing list.
Who it suits
SimpleCov suits Ruby developers who want coverage reports, test-to-line mapping, or coverage thresholds in development workflows. Its changed-line and production usage features may also help teams tracking what tests or live traffic reach.
What it does well
- Generates HTML and JSON reports.
- Merges coverage across test suites.
- Supports line, branch, method, oneshot-line, and eval coverage.
- Can map lines to RSpec or Minitest tests.
- Offers changed-line coverage gates.
What to know first
- Must start before application code is required.
- JRuby supports line coverage only.
Limits
SimpleCov is for Ruby code. On JRuby it supports line coverage only, and it must start before application code is required to track those files.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| SimpleCov | Ruby code coverage · MIT licensed | Free |
As github.com lists them, read 30 Sept 2026. The maker's own page has the final word.
Getting started
- Open the SimpleCov repository at https://github.com/simplecov-ruby/simplecov.
- Add SimpleCov to the Ruby project.
- Configure filters, groups, profiles, or coverage thresholds as needed.
- Start SimpleCov before requiring application code that should be tracked.
- Use its command line to view reports or select tests.
Overview
SimpleCov is a Ruby code-coverage tool built on Ruby’s Coverage library. It is best suited to Ruby teams that want to shape reports and enforce coverage thresholds within their test workflow. Its broad reporting and tracking options come with a setup constraint: it must start before application code is required.
Key features
HTML and JSON reports, mergeable results across test suites, and configurable filters, groups, and profiles give teams control over how coverage is organized. Line and branch coverage thresholds can establish a minimum bar, while changed-line coverage can gate patches. That combination is useful for teams tracking overall coverage as well as reviewers focused on newly changed code.
Opt-in test tracking maps lines to the RSpec examples or Minitest tests that cover them, helping developers identify which tests exercise a section of code. Oneshot coverage records production code usage, so teams can identify code untouched by tests or live traffic. These features offer different views of coverage, but SimpleCov remains specific to Ruby rather than a general multi-language tool.
The Rails profile can include ERB, Haml, and Slim templates in reports. CLI commands cover report viewing, test selection, patch coverage, history, status, and badges. Open-source formatter and integration plugins, editor integrations, and hosted commercial services extend the surrounding ecosystem.
SimpleCov must start before application code is required if those files are to be tracked. Teams with test setup that loads application code first will need to address that ordering. The project says it is built in CI on Ruby 3.2+ and JRuby 10+; JRuby supports line coverage only, a meaningful limitation for teams relying on branch or other coverage types.
Pricing
SimpleCov — free. The free plan is MIT licensed and covers Ruby line, branch, method, oneshot-line, and eval coverage, with HTML and JSON formats, historical trends, and coverage gates. There is no trial to evaluate before using the free plan, and no paid SimpleCov tier is described.
This is a straightforward fit for Ruby developers and teams that want coverage reporting without a software charge. The trade-off is scope rather than a lower-tier cap: SimpleCov supports Ruby, and JRuby users are limited to line coverage.
Platforms
SimpleCov is listed for Linux, macOS, Windows, and web. Its supported language is Ruby. The project identifies MIT as its license. It directs code and bug reports to its issue tracker and discussion and announcements to a Google Groups mailing list.
Who it's for
Choose SimpleCov if your Ruby project needs configurable coverage reports, test-to-line mapping, production usage signals, or threshold checks for changed code. It is particularly useful where teams want coverage gates without adopting a paid coverage product. Look elsewhere if you need a cross-language tool or JRuby branch coverage.
Pros and cons
- Pros: HTML and JSON output, suite merging, filters and profiles, and historical trends support varied reporting needs.
- Pros: Test mapping and oneshot production coverage add context about what exercises code in tests and live traffic.
- Pros: Line and branch thresholds, including changed-line gates, let teams apply coverage rules to code changes.
- Cons: Startup order matters: SimpleCov must run before application code loads to track those files.
- Cons: JRuby supports line coverage only, limiting teams that need other coverage types on that runtime.
- Cons: Ruby-only support makes it a poor fit for projects seeking one coverage tool across multiple languages.
Alternatives
Test Coverage Tools is a useful starting point for comparing coverage products across categories.
- OpenClover is another free option if you want coverage tooling across Linux, macOS, web, and Windows; its plan is described as having no license tiers, keys, or usage limits.
- Coverage.py is the more relevant choice for Python projects; it is free and open source, with an enterprise subscription available through Tidelift.
- Coveralls suits readers looking for a hosted coverage service, with a free option for open-source and public repositories.
- Coverlet is the alternative for modern .NET SDK-style projects; it is free and MIT licensed.
- gofmt is a free command-line option included with a Go installation.
- Microsoft Code Coverage is a free, closed-source alternative for teams considering that approach.
- ReportGenerator offers a free open-source tier with basic features and a trial with full access; choose it if those report-generation options better match your needs.
- Codecov is a hosted alternative with a free Developer plan whose stated limits distinguish private repositories from public ones.
Verdict
SimpleCov is a strong choice for Ruby teams that want flexible reports and practical coverage gates without a software cost. Its test mapping and production usage recording add useful context beyond aggregate coverage. Choose another tool if you need cross-language coverage, or if JRuby branch coverage is essential; for SimpleCov users, getting startup order right is non-negotiable.
Verdict
SimpleCov offers configurable Ruby coverage reports, test mapping, and threshold gates. Its startup order requirement matters, and JRuby users should note the line-coverage-only limit.
Questions
How much does SimpleCov cost?
The listed SimpleCov plan is free.
Is SimpleCov open source?
Yes. The repository identifies it as MIT licensed.
Which platforms are listed?
Linux, macOS, web, and Windows are listed.
What report formats does it support?
It includes HTML and JSON formatters.
Does it work with JRuby?
The project says it is built in CI on Ruby 3.2+ and JRuby 10+. JRuby supports line coverage only.
How do I get help or report a bug?
The project directs code and bug reports to its issue tracker, and discussion and announcements to its Google Groups mailing list.
Facts from SimpleCov's own pages
- Change coverage
- The CLI can calculate coverage for changed lines and use a minimum threshold as a gate. · github.com, 30 Sept 2026
- CLI
- The command line includes report viewing, test selection, patch coverage, history, status, and badge commands. · github.com, 30 Sept 2026
- Compatibility
- The project says it is built in CI on Ruby 3.2+ and JRuby 10+; JRuby supports line coverage only. · github.com, 30 Sept 2026
- Configuration
- Configuration supports filters, groups, profiles, line and branch coverage, and coverage thresholds. · github.com, 30 Sept 2026
- Integrations
- The README points to open source formatter and integration plugins, editor integrations, and hosted commercial services. · github.com, 30 Sept 2026
- License
- The repository identifies SimpleCov as MIT licensed. · github.com, 30 Sept 2026
- Production usage
- Oneshot coverage can record production code usage for identifying code that tests or live traffic do not touch. · github.com, 30 Sept 2026
- Purpose
- SimpleCov analyzes Ruby code coverage using Ruby’s built-in Coverage library. · github.com, 30 Sept 2026
- Reports
- It includes HTML and JSON formatters and can merge coverage results across test suites. · github.com, 30 Sept 2026
- Security and compliance
- The repository page shows a Security and quality section but states no security certification or compliance standard in the README. · github.com, 30 Sept 2026
- Setup constraint
- SimpleCov must start before application code is required to track those files. · github.com, 30 Sept 2026
- Support
- The project directs users to its issue tracker for code and bug reports and its Google Groups mailing list for discussion and announcements. · github.com, 30 Sept 2026
- Test mapping
- Opt-in test tracking can show which RSpec examples or Minitest tests cover a line. · github.com, 30 Sept 2026
- View templates
- With the Rails profile, it can include ERB, Haml, and Slim templates in coverage reports. · github.com, 30 Sept 2026
Where SimpleCov stands on Freedom251
- Test Coverage Tools#14 of 27