【问题标题】:How to stub Active Resource?如何存根活动资源?
【发布时间】:2011-07-28 17:14:46
【问题描述】:

我的活动资源连接到一些愚蠢的外部服务,无论出于何种原因,该服务都需要一段时间才能响应。这有点太唠叨了。我想在开发过程中存根 Active Resource 以加快我的开发时间。

这是一件好事吗?我认为是这样。如果你不这么认为,请解释一下。

是否有一种机制可以根据环境配置文件中的开关(可能是您为此目的使用的任何 gem/插件)将其存根?

根据您的经验,您是如何做到这些的?

【问题讨论】:

    标签: ruby-on-rails-3 rubygems ruby-on-rails-3.1


    【解决方案1】:

    我建议使用FakeWeb。我最近在一个项目中使用了它,它允许我注册一些带有预定义响应的外部 url。在您的测试设置中,您可以这样做:

    FakeWeb.register_uri(:get, %r|users.xml|, :body => File.read("spec/factories/xml/users.xml"))
    

    现在,每当活动资源请求 anyhost.com/users.xml(在测试环境中)时,您将立即获取您引用的文件的内容。我喜欢这种方法,因为当你测试一个模型时,你并不真的想测试外部服务。我会将该级别的测试留给集成测试。

    这不会影响开发或生产环境,因此您可以照常使用愚蠢的外部服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 2015-06-13
      • 2012-01-20
      • 2021-02-13
      • 2021-09-15
      • 2011-12-05
      • 1970-01-01
      相关资源
      最近更新 更多