我希望能够检查RSpec规范文件本身的代码覆盖范围。 (这有点不寻常,但我怀疑文件中有一些未使用的代码)目前,如果我在rails_helper.rb中更改了RSpec的配置
require 'simplecov'
SimpleCov.start 'rails' do
minimum_coverage 90 # Not the real number
maximum_coverage_drop 5
end
到
require 'simplecov'
SimpleCov.start do
minimum_coverage 90 # Not the real number
maximum_coverage_drop 5
end
我可以看到spec文件夹中某些文件的覆盖范围,例如spec / factories / users.rb,但不能查看规范文件本身,例如spec / controllers / users_controller_spec.rb。我怎么能这样做?
答案 0 :(得分:1)
您似乎需要构建自定义SimpleCov
个人资料。但请先确保您在simplecov
文件的顶部包含rails_helper.rb
,然后再提供任何代码。如果可以,您可以使用以下内容:
SimpleCov.start :my_profile do
# add some rules here
end
By default,仅包含:bundle
(排除包含/vendor/bundle/
的路径)和:root
(排除simplecov root之外的所有文件)过滤器,即您的spec文件应该获得覆盖。
确保在运行覆盖率报告时没有使用spring
,因为它还会弄乱事情,在运行测试之前运行spring stop
。如果您仍想将spring
与simplecov
一起使用,那么section in docs会对此进行描述。
最后,您可以使用https://github.com/danmayer/coverband查找死代码。我自己没有使用它,但是simplecov
作者recommends它。