Ruby on rails NoMethodError:未定义的方法`mock';有摩卡咖啡和Rails 3
我正试图在Rails 3项目中使用mocha,但始终遇到以下例外情况:Ruby on rails NoMethodError:未定义的方法`mock';有摩卡咖啡和Rails 3,ruby-on-rails,ruby-on-rails-3,mocking,ruby-mocha,Ruby On Rails,Ruby On Rails 3,Mocking,Ruby Mocha,我正试图在Rails 3项目中使用mocha,但始终遇到以下例外情况: NoMethodError: undefined method `mock' for #<MochaTest:0x00000101f434e8> /Users/John/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.10/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missi
NoMethodError: undefined method `mock' for #<MochaTest:0x00000101f434e8>
/Users/John/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.0.10/lib/action_dispatch/testing/assertions/routing.rb:175:in `method_missing'
test/functional/mocha_test.rb:7:in `block in <class:MochaTest>'
GemFile
source 'http://rubygems.org'
gem 'rails', '3.0.10'
gem 'sqlite3'
gem 'devise', '1.4.5'
gem 'activemerchant'
gem 'geo_location'
gem 'nokogiri'
gem "nifty-generators", :group => :development
gem 'mocha', '0.10.0'
我尝试过的事情
- 阅读0.9.5-7后安装mocha 0.9.5时出现此问题。我得到了一个
异常未定义的方法名
- 更改我需要摩卡的位置-在test_helper.rb的底部、test的顶部等
- 尝试在rails控制台测试中调用mock()-我得到了相同的异常
我要用这个把我的头发扯下来。如果您有任何想法,我们将不胜感激。我在发布此消息后立即找到了答案 答案如下: 总之,我改变了
gem'mocha',0.10.0'
到
gem'mocha','0.10.0',:require=>false
它就像一个符咒 然而,即使我加载了测试环境,我仍然无法在rails控制台中使用
mock()
,而不引起它的抱怨。烦人的
ENV["RAILS_ENV"] = "test"
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
class ActiveSupport::TestCase
#....
require 'test/unit'
require 'mocha'
end
source 'http://rubygems.org'
gem 'rails', '3.0.10'
gem 'sqlite3'
gem 'devise', '1.4.5'
gem 'activemerchant'
gem 'geo_location'
gem 'nokogiri'
gem "nifty-generators", :group => :development
gem 'mocha', '0.10.0'