如何在编写Rails集成测试/规范时存根外部JavaScript库?

Gav*_*vin 5 geocoding rspec ruby-on-rails shared-libraries vcr

我的应用与谷歌地图进行地理编码和Stripe付款.使用VCR我已经模拟了对这些服务的所有请求,这非常有效.但两者的库仍在加载javascript_include_tag.处理此问题的最佳方法是什么,以便集成测试可以完全脱离互联网?

pdu*_*uey 0

如果你想存根 javascript,那么为什么首先要记录交互呢?我错过了什么吗?

我很确定测试中的地理编码违反了谷歌地图服务条款。我认为你想要做的是存根地理编码本身。

从未使用过 Stripe,但我可能会采用这种方法:在规范助手中添加一个方法来在本地缓存 Stripe javascript,即,当连接可用时,下载 Stripe javascript。然后在你的视图中本地加载 javascript if Rails.env.test?。