A code coverage analysis tool for Ruby with powerful configuration and automatic merging across test suites.
SimpleCov is a code coverage analysis tool for Ruby that uses Ruby's built-in Coverage library to track which parts of your code are executed during tests. It processes coverage data to generate detailed reports, automatically merging results across different test suites to provide a complete picture of code coverage.
Ruby developers and teams who want to measure and improve test coverage across their applications, especially those using multiple testing frameworks like RSpec, Cucumber, or Test::Unit.
Developers choose SimpleCov for its ease of setup, powerful configuration options, and ability to merge coverage from disparate test suites into a unified report, offering a more accurate assessment of overall code coverage.
Code coverage for Ruby with a powerful configuration library and automatic merging of coverage across test suites
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines coverage data from multiple test suites like unit tests and Cucumber into a single report, providing a holistic view of code coverage across the entire project.
Offers profiles, filters, and groups to customize coverage analysis, such as excluding files or organizing code into logical sections for better reporting.
Supports branch coverage for conditionals in Ruby 2.5+ and oneshot line coverage for faster runs in Ruby 2.6+, giving detailed metrics beyond basic line coverage.
Works with any Ruby test framework, including RSpec, Cucumber, and Test::Unit, without requiring framework-specific adaptations or plugins.
Admits it does not track coverage for common templating solutions like ERB, Slim, or Haml, which limits its effectiveness for web applications with significant view layers.
Requires SimpleCov to be started before any application code is loaded, making setup error-prone and necessitating workarounds for tools like Spring that preload code.
Manual configuration is needed for parallel test runners to avoid result clobbering, as noted in the README for tools like parallel_tests, adding overhead for CI/CD pipelines.