【问题标题】:How to stub external javascript libraries when writing Rails integration tests/specs?编写 Rails 集成测试/规范时如何存根外部 JavaScript 库?
【发布时间】:2013-01-05 05:13:30
【问题描述】:

我的应用与 Google Maps 进行地理编码和 Stripe 进行支付。使用VCR 我已经模拟了对这些服务的所有请求,效果很好。但两者的库仍在javascript_include_tags 中加载。处理这个问题的最佳方法是什么,以便集成测试可以完全脱离互联网运行?

【问题讨论】:

    标签: ruby-on-rails rspec shared-libraries geocoding vcr


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      对于现在正在寻找解决方案的任何人来说,有一个不错的 gem,叫做 Puffing Billy

      类似于VCR 允许您记录和重放服务器代码发出的外部请求,此库允许您对客户端代码发出的外部请求执行相同操作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-26
        相关资源
        最近更新 更多