RubyonRailsは初めてです。rails test:unitを使用してテストケースを作成したサンプルアプリを作成しました。
現在、test:unitを使用してhttpAPI呼び出しをテストする方法を見つけることができません。
モデルには2つのメソッドがあります。1つはAPIからの応答をGETする方法で、もう1つはAPIへのPOSTリクエスト(JSONデータ)を使用する方法です。これが私の方法です
class RestApi def self.reqSecure(apiMethod、qryString)uri = URI.parse( "https://test.my-api.com/test.json?apiKey=abc1234&userId=123456")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
hashOfResponse = ActiveSupport::JSON.decode(response.body)
return hashOfResponse
終わり
def self.postSecure @host ='localhost' @port = '8099'
@path = "/posts"
@body ={
"bbrequest" => "BBTest",
"reqid" => "44",
"data" => {"name" => "test"}
}.to_json
request = Net::HTTP::Post.new(@path, initheader = {'Content-Type' =>'application/json'})
request.body = @body
response = Net::HTTP.new(@host, @port).start {|http| http.request(request) }
puts "Response #{response.code} #{response.message}: #{response.body}"
エンドエンド