1

我正在尝试在 simplecov 中创建一个报告,以报告我的应用程序中的恶意操作。基本上我想要一个选项卡来报告任何且仅使用该:nocov:参数来防止 simplecov 报告它的文件。现在,我知道这些可能并不全是坏事,所以我只想将它们过滤到一个选项卡中,而不影响总分。

目前我有自定义选项卡设置,但过滤器无法正确过滤文件。谁能指出我正确的方向?

自定义选项卡

示例简单的 cov 忽略方法:

# :nocov:
def my_debug_method
  do_something
end
# :nocov:

这是我当前的.simplecov设置:

class IgnoredCodeFilter < SimpleCov::Filter
  def matches?(src_file)
    src_file.grep(/:nocov:/).size > 0
  end
end
SimpleCov.start do
  add_group "Ignored Code" do |src_file|
    IgnoredCodeFilter.new(src_file)
  end
end

当前错误信息:

Formatter SimpleCov::Formatter::HTMLFormatter failed with NoMethodError: undefined method `grep' for #<SimpleCov::SourceFile:0x007f920e166fa0> (.simplecov:13:in `block (2 levels) in <top (required)>')
4

1 回答 1

1

这是我最终解决这个问题的方法,以防其他人正在寻找它。

只需将其添加到您的.simplecov配置文件中:

SimpleCov.start do
  add_group "Ignored Code" do |src_file|
    open(src_file.filename).grep(/:nocov:/).any?
  end
end
于 2014-06-22T21:47:39.303 回答