我有問題,做兩個請求在Rails集成測試相同的URL,使用RSpec在軌集成功能使得兩個請求到同一控制器
it 'does something' do
# get '/something', {:status=>'any_other'}, @header ## <<<<< this line couses problem!
get '/something', {:status=>'ok'}, @header
doc = Nokogiri::HTML(response.body)
lis = doc.css('#the_id')
lis.size.should == 1
lis[0].text.should include('anything')
end
如果我提出兩個請求到同一個控制器,測試似乎維持舊響應...
在上面的例子,如果我取消這條線,測試斷裂東陽它保持第一「查詢」
是它的侷限性的結果測試堆棧,還是我做錯了什麼?
如果RSpec的的設計者不希望你進行第二次請求,第二請求應當引發異常來這樣做阻止你。這樣它就成爲一個功能,而不是一個錯誤。任何想法爲什麼他們不這樣做? –
是的,rspec的設計人員爲您提供了該功能。它的要求是如何測試它(根據應用程序的實際行爲)。 –