2015-09-24 59 views
0

我希望能夠檢查RSpec spec文件本身內的代碼覆蓋率。 (這有點不尋常,但我懷疑有一些無用的代碼文件內)目前,如果我在rails_helper.rb從在simplecov覆蓋率報告中包含_spec.rb文件

require 'simplecov' 
SimpleCov.start 'rails' do 
    minimum_coverage 90 # Not the real number 
    maximum_coverage_drop 5 
end 

改變的RSpec的配置

require 'simplecov' 
SimpleCov.start do 
    minimum_coverage 90 # Not the real number 
    maximum_coverage_drop 5 
end 

我可以看到覆蓋對於spec文件夾內的某些文件(如spec/factories/users.rb),而不是spec文件本身,例如spec/controllers/users_controller_spec.rb。我怎樣才能做到這一點?

回答

1

看來你需要建立一個自定義SimpleCov配置文件。但首先請確保您在rails_helper.rb文件的頂部包含simplecov,之前有任何代碼。如果這沒關係,你可以使用以下命令:

SimpleCov.start :my_profile do 
    # add some rules here 
end 

By default,只有:bundle(排除包含/vendor/bundle/路徑)和:root(排除simplecov根目錄之外的所有文件)過濾器都包括在內,即你的spec文件應該得到覆蓋。

確保您在運行覆蓋率報告時沒有使用spring,因爲它也會弄糟東西,在運行測試之前運行spring stop。如果您仍想使用springsimplecov,則有一個section in docs描述。

最後,您可以使用https://github.com/danmayer/coverband找到您的死代碼。我自己還沒用過,但simplecov作者recommends呢。