Получение ошибок «неизвестного метода» при выполнении тестов RSpec для модели ActiveRecord - PullRequest
1 голос
/ 23 декабря 2010

У меня возникли некоторые проблемы с некоторыми тестами RSpec на некоторых из моих проверок ActiveRecord. Набор тестов выглядит так:

describe Event do
  context "An Event" do
    before do
       valid_event_hash = {
          :name => 'Blah Blah',
          :desc => 'Yadda Yadda Yadda',
          :category => 'some category',
          :has_partner => false,
          :event_abbr => 'BB'
       }
       @event = Event.new(valid_event_hash)
    end

    it "should have a name" do
       @event.name = ''
       @event.should_not be_valid
    end

    it "should have a description" do
       @event.desc = ''
       @event.should_not be_valid
    end

    it "should have an abbreviation no shorter than 2 letters and no longer than 3 letters" do
       @event.event_abbr = ''
       @event.should_not be_valid
       @event.event_abbr = 'BlaBla'
       @event.should_not be_valid
       @event.event_abbr = 'B'
       @event.should_not be_valid
    end

    after do
       @event.destroy
    end
 end

end

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

Failure/Error: @event = Event.new(valid_event_hash)
unknown attribute: event_abbr

Я могу создать тот же самый экземпляр @event в консоли с этими значениями, и он отлично работает. Моя внутренняя реакция заключается в том, что по какой-то причине используемая в тестовом наборе модель не знает о поле: event_abbr, но я не могу понять, почему это так. Я уверен, что что-то упустил, но я не уверен, что это такое. Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 23 декабря 2010

Запускали ли вы свои миграции в своей тестовой базе данных?EG

RAILS_ENV=test rake db:migrate

еще, попробуйте

rails console test

и попробуйте там.

...