【问题标题】:simplecov custom filter group to report ignored codesimplecov 自定义过滤器组报告被忽略的代码
【发布时间】:2014-06-22 21:07:22
【问题描述】:

我正在尝试在 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)>')

【问题讨论】:

    标签: ruby-on-rails ruby tdd simplecov


    【解决方案1】:

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

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

    SimpleCov.start do
      add_group "Ignored Code" do |src_file|
        open(src_file.filename).grep(/:nocov:/).any?
      end
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-02
      • 1970-01-01
      • 2021-11-04
      相关资源
      最近更新 更多