2011-09-30 25 views
5

と私は私のRails 3プロジェクトにモカを使用していますが、次の例外取得維持しようとしています:NoMethodError:未定義のメソッド `モック 'モカとRails 3

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>' 

テスト

を私は'私はruby -Itest test/functional/mocha_test.rb

012を使用してそれを実行

require 'test_helper' 

class MochaTest < ActionController::TestCase 
    test "test mocha" do 
    order = mock('order') 
    end 
end 

:できるだけ簡単なテストを書かれまし

私はrake testを試しましたが、まったく同じ例外があります。

test_helper.rb

ENV["RAILS_ENV"] = "test" 
require File.expand_path('../../config/environment', __FILE__) 
require 'rails/test_help' 

class ActiveSupport::TestCase 
    #.... 
    require 'test/unit' 
    require 'mocha' 
end 

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を読んだ後、モカ0.9.5をインストール

  • を試してみました-7に問題がありました。レールコンソールテスト中)
  • が(モック呼び出ししようとしましたなどのテストのトップ、test_helper.rbの下部にある - - 私はモカを必要とする場合変更
  • 代わりundefined method name例外を取得私は同じ例外を取得

私はこれで私の髪を裂いています。どんなアイデアも感謝して受け取ります。

答えて

11

これを投稿した直後に回答が見つかりました。

がここに答えます:要するにMocha Mock Carries To Another Test

、私は

gem 'mocha', '0.10.0', :require => false

gem 'mocha', '0.10.0'

を変更し、それが魅力のように働きました!

+0

しかし、私はまだテスト環境を読み込んでも、文句を言わずに、レールコンソールで 'mock()'を使用することはできません。煩わしい。 –

+0

あなたはレールコンソールでmock()を動かすことができましたか? – user566245

関連する問題