My Rails应用程序调用Web服务。
我正在使用 FakeWeb gem通过注册这样的URI来伪造这些调用:
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
如何为整个测试环境设置虚假注册,而不是为每次测试手动设置?
答案 0 :(得分:1)
最有可能的是,将它放在spec / spec_helper.rb文件中就可以了。我自己没有使用过FakeWeb,但这就是你进行全局初始化的地方。
答案 1 :(得分:1)
看看VCR rubygem。
它记录测试套件的HTTP交互并在测试运行期间重放它们。
答案 2 :(得分:0)
在spec/support/
的文件中,拨打register_uri
块内的Before
:
Before do
FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)
end
我使用此技巧使用webmock设置模拟回复,它就像一个魅力。