Я знаю, что это должно быть что-то глупое, но я продолжаю получать следующую ошибку в одном из моих примеров:

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

Я создал простой пример, чтобы показать ошибку:

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

Странно то, что когда я запускаю пример сам по себе, он проходит. Когда я запускаю его со всеми моими примерами, он завершается со следующей ошибкой:

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:

Ошибка на линии: @charge = LateCharge.new(@membership, @location)

У меня нет проблем с созданием экземпляра объекта LateCharge во время выполнения или из консоли.

У кого-нибудь есть идеи?

1
Lee 17 Ноя 2009 в 00:13

2 ответа

Мне кажется, что следующая информация является ключом к вашей проблеме:

will_paginate/finder.rb:170:in `method_missing'
0
Al Chou 17 Ноя 2009 в 08:12

Эй, Ли, не уверен, что у вас все еще есть эта проблема, но у меня было то же самое, и это потому, что другая спецификация, которую я имел, отключала функцию.

0
David 2 Мар 2011 в 09:37