2012-11-09 34 views
1

我的Rails應用程序向Web服務的調用。在所有黃瓜測試Web服務虛擬來電

我使用FakeWeb寶石假貨在一些測試這些電話通過註冊URI是這樣的:

FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response) 

如何設置在整個測試環境中,該假登記,而不是設置它爲每個測試手動嗎?

回答

0

spec/support/文件,作出register_uri呼叫的Before塊中:

Before do 
    FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response) 
end 

我用這種伎倆來設置使用webmock模擬反應,它像一個魅力。

1

最有可能,將在您的規格/ spec_helper.rb文件就可以了。我沒有使用FakeWeb,我自己,但這是你放置任何全局初始化的地方。

+0

感謝您的幫助。嘗試了你的建議,但沒有運氣。 – Myxtic

+0

+1的意見。 – Myxtic

1

採取看看VCR ruby​​gem。

它記錄了你的測試套件的HTTP交互和試運行期間重播他們。

+0

對於該建議+1。 – Myxtic