SimpleCov 单元测试覆盖率统计

这是一个可以统计Rails项目UT覆盖率的工具

配置

首先,在Gemfile中加入这个gem,最好放到test组中

gem 'simplecov', require: false
# 然后安装 bundle install

加入代码

在项目目录中找到 /spec/spec_helper.rb 文件
加入对 simplecov 的引用和其他代码

require 'simplecov'
SimpleCov.start do
  add_group "Models", "app/models/"  #指定某些目录统计为某个分组
  add_group "Services", "app/services/"


  add_filter ['/spec/','/config/','/vendor/']  #过滤掉不需要统计覆盖率的目录
  add_filter do |source_file|
    source_file.lines.count < 5 # 过滤掉统计覆盖率时文件代码小于5行代码的文件
  end
end   

统计覆盖率

不需要执行特别的程序,只需要运行整个单元测试 rspec 就好了

simplecov会自动生成HTML格式覆盖率统计报告,在这个目录下 /coverage/index.html,

打开这个文件就可以看到详细的内容了,在页面的右上角有本次报告的生成时间

注意:如果有测试失败的用例,那么覆盖率统计报告将不会重新生成

你可能感兴趣的:(SimpleCov 单元测试覆盖率统计)