rails 4 simpecov缺少文件

我是测试的忠实粉丝,当我运行当前的覆盖率报告时,我注意到我的lib子文件夹与.rb文件没有被simplecov接收。

这是我的spec_helper.rb文件中的设置:

if ENV['COVERAGE'] require 'simplecov' SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ SimpleCov::Formatter::HTMLFormatter ] SimpleCov.minimum_coverage 90 SimpleCov.start do coverage_dir 'tmp/coverage' add_filter '/.bundle/' add_filter '/spec/' add_filter '/config/' add_group 'Models', 'app/models' add_group 'Controllers', 'app/controllers' add_group 'Services', 'app/services' add_group 'Helpers', 'app/helpers' add_group 'Lib', 'lib' add_group 'Mailers', 'app/mailers' add_group "Long Files" do |src_file| src_file.lines.count > 100 end add_group 'Ignored Code' do |src_file| open(src_file.filename).grep(/:nocov:/).any? end end end 

虽然我今天在该文件夹中没有多少,但我想弄清楚他们为什么不进来。目前,我本来希望在我的报告中看到我的lib/modules文件夹b / c它有一个helper_functions.rb文件耙子里面用的。

=> git问题#351

此外,我尝试了这些解决方案没有运气:

  • 简单的cov gem缺少Rails中未经测试的文件
  • simplecov没有覆盖Rails引擎中的lib目录 – 不是缺少需求
  • SimpleCov有多个应用程序 – 或者简而言之,Simplecov如何工作?

我曾经遇到过类似的问题,事实certificate,在SimpleCov启动之前,一些未报告的代码正在加载。 例如,如果您通过rake命令运行测试,如果您的Rakefile在调用spec_helper.rb脚本之前拉入某些库,则不会报告这些库。