在我的Rails 3.2項目中,我發送一個偶爾的http請求到來自Javascript的http://jsonip.com
。但是當運行帶有@javascript
標籤的Cucumber時,請求會非常頻繁地發送。這顯然是非常不可取的,我想存根這些請求。現在,我想我可以用stub_request
從webmock
對於這一點,就像這樣:黃瓜/水豚/硒中的Ajax請求?
Before do
stub_request(:any, /.*jsonip.*/).to_return(:body => '{"ip":"24.104.73.2","about":"/about"}')
end
但即使有這樣的地方,jsonip
被從Javascript調用。因此,我發現webmock
實際上並不存在Ajax請求(至少與上面的stub_request
聲明不同)。
什麼是在黃瓜/水豚/硒設置存根Ajax請求的正確方法?
嗯,是的......我怕的就是這個。我現在通過簡單地生成一個Javascript變量,在Rails環境爲開發時持有0,在測試時爲1,在生產時爲2。然後,當變量等於1時,我會阻止對外部服務的Ajax調用。不是最漂亮的解決方案,但它可以工作。謝謝,Iafonov。 – 2012-03-16 14:34:39