Настраиваемая группа фильтров simplecov для сообщения об игнорируемом коде

Я пытаюсь создать отчет в simplecov, чтобы сообщить о мошеннических действиях в моем приложении. В основном я хочу вкладку, которая сообщает о любых и только файлы, которые используют :nocov: параметр, чтобы запретить simplecov сообщать об этом. Теперь я знаю, что это может быть не все плохо, поэтому я хочу только отфильтровать их на вкладке и не повлиять на общий балл.

В настоящее время у меня есть настройка пользовательских вкладок, но фильтр не фильтрует файлы правильно. Может кто-то указать мне верное направление?

настраиваемая вкладка

Пример простого игнорируемого метода:

# :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)>')

1 ответ

Вот как я в конечном итоге решил эту проблему, если другие ищут ее.

Просто добавьте это к вашему .simplecov конфигурационный файл:

SimpleCov.start do
  add_group "Ignored Code" do |src_file|
    open(src_file.filename).grep(/:nocov:/).any?
  end
end
Другие вопросы по тегам