2011-07-28 41 views
2

我的活动资源连接到一些愚蠢的外部服务,需要一段时间来回应任何原因。这有点太唠叨。我想在开发期间存活动资源以加速我的开发时间。如何存活动资源?

这是一件好事吗?我觉得是这样的。如果您认为不然,请解释。

是否有一种机制可以根据环境配置文件中的开关来存根,可能是您用于此目的的任何gem /插件?

什么和你如何做你的经验这些?

回答

1

我推荐使用FakeWeb。我最近在一个项目中使用了它,它允许我使用预定义的响应注册一些外部URL。在测试设置,你可以这样做:

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

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

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