在轨道3中的Webmock宝石并正确地包括它

bik*_*ode 7 rubygems ruby-on-rails-3

我可能会做一些非常简单的错误,但我不太确定它是什么.我正在将rails 2应用程序移植到rails 3.此应用程序使用webmock进行一系列测试.

如果我包括

gem 'webmock'
Run Code Online (Sandbox Code Playgroud)

在我的Gemfile中,测试通过,但是当我启动服务器并在本地运行应用程序时,点击应该进行Web调用的控制器会引发错误:

WebMock::NetConnectNotAllowedError
Run Code Online (Sandbox Code Playgroud)

如果我不在我的Gemfile中包含该行,那么当我在本地运行应用程序时,它工作正常,但测试错误:

`require': no such file to load -- webmock (LoadError)
Run Code Online (Sandbox Code Playgroud)

在我的test_helper.rb中命中这一行时

require 'webmock'
Run Code Online (Sandbox Code Playgroud)

我猜我有一些配置错误,但我还没有找到正确的谷歌咒语,以便对它有所了解.我在哪里,我误入歧途?

谢谢.

Dyl*_*kow 11

尝试告诉您的Gemfile只在您处于测试环境时加载webmock:

group :test do
  gem "webmock"
end
Run Code Online (Sandbox Code Playgroud)