Rspec, неизвестный вопрос атрибута

Я работаю через (отличный) сайт railstutorial.org, у вас есть основной вопрос о rspec.

Когда я запускаю тест ниже в новой модели пользователя, я получаю сообщение "неизвестный атрибут: имя пользователя" и неудачный тест.

  before(:each) do
   @attr = { :lname_e => "User", :fname_e => "Test", :email => "[email protected]", :username => "testUser" }
  end

  it "should create a new instance given valid attributes" do
    User.create!(@attr)
  end

Синтаксис ошибок

Failures:
  1) User should create a new instance given valid attributes
     Failure/Error: User.create!(@attr)
     unknown attribute: username
     # ./spec/models/user_spec.rb:11:in `block (2 levels) in <top (required)>'

Поле находится в таблице пользователей (строка), в модели как attr_accessible, а в консоли я могу создать пользователя с точно таким же синтаксисом в тесте. Это поле "имя пользователя" было добавлено через миграцию после создания начальной таблицы, есть ли другой файл, который мне нужно обновить здесь?

Спасибо,

Ответы

Ответ 1

Вы запустили rake db:test:prepare?

Ответ 2

Поле может отсутствовать в тестовой базе данных, но присутствует в вашей базе данных разработки (поэтому консоль работает).

Попробуйте убедиться, что ваши миграции обновлены, а затем обновите тестовую базу данных:

rake db:migrate
rake db:test:prepare