我在这里做一些RSPEC测试。
如果我有这个方法:
JSON.parse( “https://test.com/return_json/reviews.json”)然后我可以把它像RSPEC一样:
test_reviews = {“reviews”=> [{“data1”=> “1”,…
你的代码实际上并没有调用你的网址。您需要进行http调用并解析正文。我应该看起来像这样。
describe :ReviewsController let(:uri) { URI('https://test.com/return_json/reviews.json') } let(:reviews) { {"reviews" => [{"data1" => "1", "data2"=> "2"}]} } before do stub_request(:get, uri). with(headers: {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}). to_return(status: 200, body: JSON.dump(reviews), headers: {}) end it 'does whatever you want' do response = Net::HTTP.get(uri) expect(JSON.parse(response.body)['data1']).to eq('1') # or whatever you want to test end end
这是更好的解释 这里 。