Молчание об устаревших предупреждениях Rspec Rails - PullRequest
0 голосов
/ 24 июня 2018

Это умышленно? Я имею в виду, что выходное сообщение говорит что-то вроде

If you need more of the backtrace for any of these deprecations you can 
configure `config.raise_errors_for_deprecations!`, and it will turn the
deprecation warnings into errors, giving you the full backtrace.

Полагаю, никто никогда не рассматривал потенциально более реалистичную перспективу, основанную на тысячах мнений, полученных этими вопросами?

If you would prefer not to receive these friendly warnings configure 
`Config.no_more_warnings_please_thanks_all_the_same`

Я пробовал

To disable warnings when running rake test add $VERBOSE=nil into your spec/spec_helper.rb

И

ActiveSupport::Deprecation.behavior = :silence

и

ActiveSupport::Deprecation::DEFAULT_BEHAVIORS[:silence] = Proc.new {|message, callstack| }

Я даже поставил это перед

Bundler.require(*Rails.groups)

Многочисленные выражения озабоченности проявляются в том, что некоторые могут не понимать серьезности ситуации. т.е.

 "It's not good to ignore warnings. You should be reading all of them......" 

Есть идеи? Наверняка кто-то с этим справился. Возможно, кто-то из сообщества Rspec?

Я бы хотел на самом деле подавить все предупреждения. Не то, чтобы я их игнорировал, конечно. Но если я просто неохотно редактирую устаревший продукт платных клиентов, я не думаю, что для них будет справедливо тратить время и деньги на обработку предупреждений.

Я не очень опытен в программировании, как это видно из моих репутационных очков, поэтому, пожалуйста, сочувствуйте моему разочарованию.

1 Ответ

0 голосов
/ 07 сентября 2018

- Используйте с осторожностью -

Во-первых, общее предупреждение об удалении предупреждений.

Во-вторых, это то, что я сделал.В блоке RSpec.configure добавьте следующие строки кода:

 config.before(:all, silent: true) do
    @with_warnings = $VERBOSE
    $VERBOSE = nil
  end

  config.after(:all, silent: true) do
    $VERBOSE = @with_warnings
  end

Я поместил это в rails_helper.На блоках описания, которые я не хочу возвращать предупреждения, я помечаю их с помощью silent: true.

describe "Is foo bar?", silent: true do
  # testing all the things
end

Это подавляет ВСЕ, включая предупреждения о константах и ​​неопределенных переменных.Результаты теста останутся без изменений и дадут вам знать, что foo на самом деле не равен бару.

- Используйте с осторожностью -

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...