我在spec/spec_helper.rb
和features/support/env.rb
的顶部有以下代码(SimpleCov合并RSpec和黄瓜覆盖率结果):
require 'simplecov'
我还在项目根目录的.simplecov
文件中包含以下代码:
SimpleCov.start 'rails'
但是,出于某种原因,lib/tasks/cucumber.rake
包含在覆盖范围内......
有什么想法吗?
答案 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
希望这有帮助!