我的Rails应用程序调用web服务。
我使用FakeWeb gem在一些测试中伪造这些调用,方法是注册如下所示的URI:
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)我如何为整个测试环境设置这个假注册,而不是为每个测试手动设置它?
发布于 2012-11-09 21:42:07
在spec/support/中的文件中,调用Before块中的register_uri:
Before do
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
end我使用这个技巧来使用网模拟设置模拟响应,它的工作原理就像一种魅力。
发布于 2012-11-09 19:39:57
最有可能的是,将其放入spec/spec_helper.rb文件中就可以了。我本人还没有使用过FakeWeb,但这就是您将全局初始化放在这里的地方。
发布于 2012-11-09 21:50:04
看看VCR rubygem。
它记录测试套件的HTTP交互,并在测试运行期间重放它们。
https://stackoverflow.com/questions/13314789
复制相似问题