小编suw*_*uwa的帖子

如何在 ruby​​ on Rails 中组合救援多个异常?

是否有可能将多个救援语句合并为一个 ruby​​ on Rails 语句。

begin
   //do something 
  rescue ArgumentError => e
      e.message
  rescue NameError => e
      e.message
  rescue StandardError => e
      e.message
end
Run Code Online (Sandbox Code Playgroud)

结合如下

rescue ArgumentError, NameError, StandardError => e
      e.message
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails ruby-on-rails-3

5
推荐指数
1
解决办法
3172
查看次数

如何在 Ruby 中存根请求/响应

使用 RSpec 的模拟/存根,如何为该find_by_id方法编写单元测试?

我想使用 RSpec,而不是 WebMock 或 VCR。如何为请求/响应创建存根?

class RapidApiClient
  HOST_URL = 'https://brianiswu-open-brewery-db-v1.p.rapidapi.com/breweries'
  API_KEY  = 'private_api_key'

   def request_api(url)
    Excon.get(
      url,
      headers: {
        'X-RapidAPI-Host' => HOST_URL,
        'X-RapidAPI-Key' => 'API_KEY'
      }
    )
  end

 def find_by_id(id)
    response = request_api("#{HOST_URL}/#{id}")
    return nil if response.status != 200
    JSON.parse(response.body)
 end  
end
Run Code Online (Sandbox Code Playgroud)

响应是:

[
{"id":4 , "name":"Ban Brewing Company" , "brewery_type":"micro", "city":"Tulsa" , "state":"OK"}
{"id":44,"name":"Tab Brewing" "brewery_type":"micro", "city":"Birmingham", "state":"MO"}
]
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

2
推荐指数
1
解决办法
4942
查看次数

标签 统计

ruby ×2

ruby-on-rails ×2

ruby-on-rails-3 ×1