我有一个提供 JSON 的 Rails 应用程序,并且想测试一些通过 http 请求和处理一些 json 的代码。在不存根 http 请求响应的情况下测试此代码的最佳方法是什么?
我正在考虑解雇 webrick 来服务 Rails 应用程序,但在技术上无能为力。任何指向代码示例的指针都值得赞赏。
# 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