FactoryGirl не сбрасывает для новых имен столбцов - PullRequest
0 голосов
/ 27 марта 2012

Я изменил имя столбца в своей базе данных и соответственно изменил spec/factories.rb, однако, когда я запускаю свои rspec тесты, он все еще пытается использовать старые имена столбцов.Я перезапустил сервер Ruby on Rails, но это не исправляет.

# Changed :height to :height_feet
# Added :height_inches


FactoryGirl.define do
  factory :user do
    ...
    height 180
  end
end

# Changed to:

FactoryGirl.define do
  factory :user do
    ...
    height_feet 5
    height_inches 11
  end
end

Тем не менее, когда я запускаю rspec spec/models, следующая строка:

let(:user) { FactoryGirl.create(:user) }

выдает следующееошибка:

Failure/Error: let(:user) { FactoryGirl.create(:user) }
NoMethodError:
   undefined method `height' for #<User:0x0000000532fc08>

Есть мысли о том, как я могу это исправить?

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Я исправил эту проблему, обновив FactoryGirl 2.0.0 с FactoryGirl 1.4.0. Из ссылки для устранения неполадок:

https://github.com/sporkrb/spork/wiki/Spork.trap_method-Jujitsu

Factory Girl 2 не имеет проблем с автозагрузкой предыдущих версий, поэтому вам не нужно ничего делать, чтобы Spork заработал.

1 голос
/ 27 марта 2012

Это ваш spork-сервер, который вам нужно перезагрузить. Я не использую охрану, поэтому я не совсем уверен, как, но взгляните на этот вопрос, есть некоторая другая полезная информация по обновлению:

Spork: как обновить проверки и другой код?

...