3

我想知道這是否可能。我使用VCR gem(http://rubygems.org/gems/vcr)在我的模型中記錄API調用以進行單元測試。這工作正常。 對於更高級別的測試,我使用黃瓜。在我的應用程序中,我還測試與谷歌地圖標記,地理編碼等東西。 所以我想知道是否有解決方案提供像客戶端VCR的東西。黃瓜:存根,模擬或記錄客戶電話(谷歌地圖)

也許有人有一些想法,

THX,禮服

[編輯] 我忘了提,我使用Selenium的內部黃瓜的JavaScript測試。所以JavaScript調用也應該被嘲笑。

+0

你是什麼意思,「我想知道是否有解決方案,爲客戶端提供類似VCR的東西」? – 2011-05-25 06:11:04

+0

VCR記錄來自您的測試的網絡流量,並在您每次運行測試時播放此記錄。因此,API調用會執行一次(在測試的第一次運行時),而VCR會在其他時間將此調用重放到您的測試。但是,當網絡調用來自測試框架本身時,這隻適用於單元測試。但是,如果您使用的是Firefox中的Selenium,則像Google地圖這樣的網絡調用來自Firefox,而不是來自測試框架。你懂我的意思嗎? ;)(我知道,有點複雜) – 23tux 2011-08-23 14:26:37

+0

我目前正在處理與VCR代理此問題,如果有人感興趣,任何幫助表示讚賞(請參閱http://stackoverflow.com/questions/13039251/record-phantomjs- Ajax的電話,與-VCR-內,水豚) – 23tux 2012-11-21 10:15:36

回答

0

你不能爲你的測試設置不同的配置嗎?例如: var gmaps_url = test? 「http:// localhost:1234」:「http://maps.google.com」;

另一個想法可能是在您的JavaScript代碼上使用backbone-js(http://documentcloud.github.com/backbone/)。它使單元測試您的JavaScript代碼變得更加容易。