Car*_*arl 1 ruby rspec ruby-on-rails rspec-rails
安装 Ruby 2.7.0 后,运行规范已成为诸如此类警告的噩梦:
/Users/user/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/capybara-3.30.0/lib/capybara/node/matchers.rb:835: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
/Users/user/.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/capybara-3.30.0/lib/capybara/node/matchers.rb:861: warning: The called method `_set_query_session_options' is defined here
Run Code Online (Sandbox Code Playgroud)
由于这些警告是从 gem 中弹出的,它们确实没有帮助,并且使 RSpec 输出变得一团糟。
我曾尝试将此行添加到 spec_helper.rb
config.warnings = false
Run Code Online (Sandbox Code Playgroud)
这行到 config/environments/test.rb
config.active_support.deprecation = :log
Run Code Online (Sandbox Code Playgroud)
但是,仍然有数百个警告弹出。我能做些什么来摆脱它们吗?
运行 Ruby on Rails 6.0.2.1 和 Ruby 2.7.0
注意 有人建议在运行规范时抑制 Ruby 警告中已经存在这个问题的答案这看起来像一个类似的问题,但提供的解决方案没有效果。我看到了所有的警告。
这些警告/弃用直接来自 ruby 2.7,您不能通过 rails 或 rspec 配置使它们静音。
Ruby 2.7 试图警告您有关 ruby 3.0 中将出现的向后不兼容问题。请参阅发行说明。弃用的主要来源是位置参数和关键字参数的分离部分。
Rails 和其他库以及 gem 还没有为这个变化做好准备,所以 ruby 向你展示了大量的警告。
我会等待升级,直到 gems 将来解决这些警告,但您也可以根据以下文章抑制这些警告https://prathamesh.tech/2019/12/26/managing-warnings-emitted-by-ruby-2 -7/
RUBYOPT='-W:no-deprecated -W:no-experimental' rails c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1944 次 |
| 最近记录: |