2

spec/spec_helper.rb我在和features/support/env.rb(SimpleCov merging RSpec & Cucumber coverage results)的顶部有以下代码:

require 'simplecov'

.simplecov我在项目根目录的文件中也有以下代码:

SimpleCov.start 'rails'

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

在此处输入图像描述

有任何想法吗?

4

2 回答 2

0

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

我们可以将我们的文件路径附加到此。例如我想排除 helpers、sweepers 文件夹,所以只需添加/修改

–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
于 2015-03-16T09:16:14.180 回答
0

我之前没有将 SimpleCov 与 RSpec 一起使用,但通常我会通过在调用 start 后向 SimpleCov 添加过滤器来处理这种类型的场景。在您的情况下,这可能意味着.simplecov

SimpleCov.start "rails"

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

希望这可以帮助!

于 2015-03-16T09:25:18.307 回答