用途:在 Ruby/Rails 项目中维护较高测试覆盖率,通过 SimpleCov 作为覆盖率引擎、SimpleCov Console 输出终端报告,定位覆盖缺口并给出针对性测试建议,可与 RubyCritic 配合做代码质量反馈。
主要能力:配置 SimpleCov(Gemfile 添加 gem 'simplecov' 与 gem 'simplecov-console',bundle install,创建 .simplecov);支持行覆盖与分支覆盖(Ruby 2.5+),设置 minimum_coverage、minimum_coverage_by_file、refuse_coverage_drop 等阈值;按 Controllers、Models、Services、Jobs 等分组;自定义过滤器与分组;多测试套件结果合并(merge_timeout,默认 10 分钟);并行测试与子进程覆盖;CI/CD 集成;与 RubyCritic 结合分析;支持 :nocov: 排除代码段、按需启用覆盖(SimpleCov.start if ENV['COVERAGE'])。
使用方式:在 test_helper.rb 或 spec_helper.rb 中首先 require 'simplecov' 并 SimpleCov.start 'rails',再加载应用;随后运行 bundle exec rake test、bundle exec rspec 或 bundle exec cucumber,测试结束后自动生成报告,终端显示覆盖率与最差文件,HTML 报告位于 coverage/index.html。
适用场景:Ruby/Rails 单元、集成、系统、请求测试的覆盖率统计与提升,CI 中强制覆盖率标准,重构前评估覆盖情况。
限制:资料未提供具体收费、价格、平台支持范围与效果数据;部分高级配置、CI 集成、RubyCritic 集成、故障排查、最佳实践与常见模式细节需参考对应 references 文件,本文未展开。