2009-11-16 5 views
1

Je sais que cela doit être quelque chose de stupide, mais je continue à recevoir l'erreur suivante dans un de mes exemples:Rspec: méthode non définie nouvelle » erreur dans le modèle ActiveRecord

undefined method `new' for #<Class:0x211d274> 

J'ai créé un exemple simple montrer l'erreur:

describe LateCharge do 
    before :each do 
    @membership = Membership.new 
    @location = mock_model(Location, :late_payment_rate => 10) 
    end 

    it "should initialize" do 
    LateCharge.respond_to?('new').should == true 
    @charge = LateCharge.new(@membership, @location) 
    end 
end 

La partie étrange est, quand je cours l'exemple par lui-même, il passe. Quand je lance avec tous mes exemples, il échoue avec l'erreur suivante:

NoMethodError in 'LateCharge should initialize' 
undefined method `new' for #<Class:0x211d274> 
/Library/Ruby/Gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1964:in `method_missing_without_paginate' 
/Users/l33/.gem/ruby/1.8/gems/mislav-will_paginate-2.3.11/lib/will_paginate/finder.rb:170:in `method_missing' 
./spec/models/late_charge_spec.rb:15: 

Il échoue sur la ligne: @charge = LateCharge.new (@membership, @location)

Je ne avez des problèmes lors de l'instanciation de l'objet LateCharge au moment de l'exécution ou depuis la console.

Vous avez des idées?

Répondre

0

Il me semble que les informations suivantes est la clé de votre problème:

will_paginate/finder.rb:170:in `method_missing' 
0

Hey Lee - ne sais pas si vous rencontrez toujours ce problème, mais j'ai eu exactement la même chose et c'est parce que l'autre spé avait été décollait la fonction.

Questions connexes