我正在向本地运行的 Rails 5.0(.6) 应用程序发出大量 API 请求。它不一致地失败并出现机架错误:
RuntimeError: failed to get urandom
回溯是针对 SecureRandom 模块的,而不是在应用程序中(特别是uuid方法)。从那里它在 ActionDispatch::RequestId 中。不幸的是,完整的回溯从我的终端历史记录中消失了,也没有出现在日志中(因为它发生在 Rails 之外)。
从许多正在工作的请求以及它在不同地方失败的事实来看,我猜测这是由于某些本地系统限制。
运行我的Rspec版本3测试时,我收到以下弃用警告:
:example_group不推荐使用subhash进行过滤.请使用subhash直接过滤.从/path/to/file.rb:6:in`block in'调用.
:example_group不推荐使用subhash进行过滤.请使用subhash直接过滤.从/path/to/file.rb:8:in`block in'调用.
从path /到/ file.rb:
RSpec.configure do |config|
module MyCodeHelpers
#
end
config.include MyCodeHelpers, example_group: { :file_path => %r(spec/services/my_code) }
config.before(:all, example_group: { :file_path => %r(spec/services/my_code) }) do
@stub = true
end
end
Run Code Online (Sandbox Code Playgroud)
这只是意味着删除:file_path值周围的'example_group:{}'(见下文)?
config.include MyCodeHelpers, :file_path => %r(spec/services/my_code)
Run Code Online (Sandbox Code Playgroud)
和
config.before(:all, :file_path => %r(spec/services/my_code)) do
@stub = true
end
Run Code Online (Sandbox Code Playgroud) 升级 Rails 后运行rspec会导致未初始化的常量错误:RSpec::Rails::Railtie::SourceAnnotationExtractor。
回溯指向“rails_helper.rb”文件。
我已经尝试过bundle update rspec-rails。
rspec ruby-on-rails uninitialized-constant rspec-rails ruby-on-rails-6.1