Rails 4& SimpleCov:lib / tasks / cucumber.rake包含在SimpleCov的覆盖率报告中?

时间:2015-03-13 07:42:01

标签: ruby-on-rails simplecov

我在spec/spec_helper.rbfeatures/support/env.rb的顶部有以下代码(SimpleCov合并RSpec和黄瓜覆盖率结果):

require 'simplecov'

我还在项目根目录的.simplecov文件中包含以下代码:

SimpleCov.start 'rails'

但是,出于某种原因,lib/tasks/cucumber.rake包含在覆盖范围内......

enter image description here

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

在spec文件夹中有文件rcov.opts,在这个文件中我们有-exclude选项。

我们可以将文件路径附加到此。 例如,我想排除助手,清扫器文件夹,所以只需添加/修改

–exclude “helpers/*,app/sweepers/*”. 

在RSpec-1中,rake任务将从rcov.opts文件中读取rcov选项。

RSpec-2忽略了这一点。 RCov选项现在直接设置在Rake任务上:

RSpec::Core::RakeTask.new(:rcov) do |t| 
    t.rcov_opts = %q[--exclude "spec/,gems/,features/*"] 
end

答案 1 :(得分:0)

我之前没有使用过带有RSpec的SimpleCov,但通常我会在调用start之后通过向SimpleCov添加一个过滤器来处理这种情况。在您的情况下,这可能意味着更改.simplecov中的起始呼叫

SimpleCov.start "rails"

SimpleCov.start("rails") do
  add_filter "lib/tasks/cucumber.rake"
end

希望这有帮助!