在所有黄瓜测试中假呼叫Web服务

时间:2012-11-09 19:37:42

标签: ruby-on-rails cucumber

My Rails应用程序调用Web服务。

我正在使用 FakeWeb gem通过注册这样的URI来伪造这些调用:

FakeWeb.register_uri(:get, "http://webservice.com/param?value=a", :response => fake_response)

如何为整个测试环境设置虚假注册,而不是为每次测试手动设置?

3 个答案:

答案 0 :(得分:1)

最有可能的是,将它放在spec / spec_helper.rb文件中就可以了。我自己没有使用过FakeWeb,但这就是你进行全局初始化的地方。

答案 1 :(得分:1)

看看VCR ruby​​gem。

它记录测试套件的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设置模拟回复,它就像一个魅力。