2011-09-30 9 views
5

Estoy intentando utilizar moka en mis Rails 3 proyecto, pero seguir recibiendo la siguiente excepción:NoMethodError: undefined método `simulada 'con Mocha y los carriles 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>' 

prueba

I' he escrito la prueba más simple posible:

require 'test_helper' 

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

lo ejecuto usando ruby -Itest test/functional/mocha_test.rb

He intentado rake test y ofrece exactamente la misma excepción.

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' 

cosas que he intentado

  • Instalación de moka 0.9.5 0.9.5 después de leer -7 tuvo problemas con esto. Consigo una excepción undefined method name lugar
  • Cambiando donde requiero moka - en la parte inferior de test_helper.rb, la parte superior de la prueba etc.
  • intentado llamar maqueta() en los carriles de prueba consola - Me da la misma excepción

Me estoy arrancando el pelo con esto. Cualquier idea sería recibida con gratitud.

Respuesta

11

Encontré la respuesta inmediatamente después de haber publicado esto.

Aquí está la respuesta: Mocha Mock Carries To Another Test

En resumen, he cambiado

gem 'mocha', '0.10.0'

a

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

y funcionó como un encanto!

+0

Sin embargo, todavía no puedo usar 'mock()' en la consola de los rieles sin quejarse, incluso si cargo el entorno de prueba. Molesto. –

+0

¿fue capaz de obtener simulacro() de trabajo en la consola de rieles? – user566245

Cuestiones relacionadas