在simplecov coverage报告中包含_spec.rb文件

时间:2015-09-24 00:17:34

标签: ruby-on-rails rspec rspec-rails simplecov

我希望能够检查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。我怎么能这样做?

1 个答案:

答案 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。如果您仍想将springsimplecov一起使用,那么section in docs会对此进行描述。

最后,您可以使用https://github.com/danmayer/coverband查找死代码。我自己没有使用它,但是simplecov作者recommends它。