这是一个可以统计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
,
打开这个文件就可以看到详细的内容了,在页面的右上角有本次报告的生成时间
注意:如果有测试失败的用例,那么覆盖率统计报告将不会重新生成