Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails NoMethodError:未定义的方法`mock';有摩卡咖啡和Rails 3_Ruby On Rails_Ruby On Rails 3_Mocking_Ruby Mocha - Fatal编程技术网

Ruby on rails NoMethodError:未定义的方法`mock';有摩卡咖啡和Rails 3

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

我正试图在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_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'