0

JSON を提供する Rails アプリがあり、http 経由で JSON を要求して処理するコードをテストしたいと考えています。http 要求応答をスタブせずにこのコードをテストする最良の方法は何ですか?

Railsアプリを提供するためにwebrickを起動することを考えていますが、技術的にそうすることができません。コード例へのポインタは大歓迎です。

# lib/bam.rb
require 'open-uri'

class Bam
  def bam host='localhost'
    hash = JSON.parse( open("http://#{host}/bam.json) )
    # process hash
  end
end

# spec/bam_spec.rb
RSpec.describe 'Bam' do
  before(:all) do
    # fire up webrick
  end
  after(:all) do
    # shutdown webrick
  end

  it 'bam' do
    hash = Bam.new.bam
    hash.should eq('bam' => 'bam')
  end
end
4

1 に答える 1

1

airborne gem https://github.com/brooklynDev/airborneを使用できます。また、JSON 構造を比較することもできます。

于 2015-07-02T11:46:04.907 に答える