【问题标题】:Test a method which uses external API测试使用外部 API 的方法
【发布时间】:2014-01-30 11:40:54
【问题描述】:

我有一个名为Video 的模型。这个模型有一个after_save 回调,它运行一个方法#upload_video_to_depot。该方法使用:file 参数(未保存在数据库中)并使用RestClient 将视频文件上传到远程API。

问题是 - 如何在我的规范中处理它而不实际将文件发送到 API?我需要测试我的 Video 模型和 #upload_video_to_depot 方法,但我无法想象应该如何完成(我对 TDD 的事情很新鲜)。

是否可以在规范中完全处理,或者它还涉及我的模型中的一些更改?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 testing rspec


    【解决方案1】:

    使用像 WebMock 这样的 gem 来存根外部请求。您可以对发送的请求和参数以及服务器应该给您的响应设置期望。

    这将允许您确保您的 REST 客户端将正确的参数发送到正确的位置并正确处理响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      • 2018-02-24
      • 2016-07-19
      • 2019-02-03
      • 2016-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多