У меня возникли некоторые проблемы с некоторыми тестами 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, но я не могу понять, почему это так. Я уверен, что что-то упустил, но я не уверен, что это такое. Любая помощь будет принята с благодарностью.