FREEDOM251

Freedom251 › Test Coverage Tools

SimpleCov

Free plan LinuxMacWebWindows

Visit SimpleCov Alternatives Pricing

SimpleCov's own site

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

PlanBilled and limitsPrice
SimpleCovRuby code coverage · MIT licensedFree

As github.com lists them, read 30 Sept 2026. The maker's own page has the final word.

Getting started

  1. Open the SimpleCov repository at https://github.com/simplecov-ruby/simplecov.
  2. Add SimpleCov to the Ruby project.
  3. Configure filters, groups, profiles, or coverage thresholds as needed.
  4. Start SimpleCov before requiring application code that should be tracked.
  5. 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

Look at these too