次のようなモデルがあります。
class Gist
def self.create(options)
post_response = Faraday.post do |request|
request.url 'https://api.github.com/gists'
request.headers['Authorization'] = "Basic " + Base64.encode64("#{GITHUB_USERNAME}:#{GITHUB_PASSWORD}")
request.body = options.to_json
end
end
end
そして、次のようなテスト:
require 'spec_helper'
describe Gist do
context '.create' do
it 'POSTs a new Gist to the user\'s account' do
Faraday.should_receive(:post)
Gist.create({:public => 'true',
:description => 'a test gist',
'files' => {'test_file.rb' => 'puts "hello world!"'}})
end
end
end
私がテストしているのはファラデーで POST を作成しているだけなので、このテストは私を満足させるものではありませんが、URL、ヘッダー、または本文を実際にテストすることはできません。ブロック。Faraday テスト アダプターを使用しようとしましたが、それを使用して URL、ヘッダー、または本文をテストする方法もわかりません。
Rspec スタブを記述するより良い方法はありますか? それとも、これまで理解できなかった方法でファラデー テスト アダプターを使用できますか?
ありがとう!