Невозможно создать пользовательскую модель в Rspec - PullRequest
0 голосов
/ 27 ноября 2011

Когда я запускаю следующую спецификацию:

require 'spec_helper'

describe User do
  before :each do
    @user = User.new :email => "foo@bar.com", :password => "foobar", :password_confirmation => "foobar"
  end

  it "should be valid" do
    @user.should be_valid
  end
end

Я получаю эту ошибку:

  1) User should be valid
     Failure/Error: @user = User.new :email => "foo@bar.com", :password => "foobar", :password_confirmation => "foobar"
     ActiveRecord::UnknownAttributeError:
       unknown attribute: email
     # ./spec/models/user_spec.rb:5:in `new'

Однако, когда я захожу в консоль и запускаю

user = User.new :email => "foo@bar.com", :password => "foobar", :password_confirmation => "foobar"
user.valid?

Возвращает истину. По некоторым причинам в моем тесте я не могу создать экземпляр пользователя, говоря, что атрибут электронной почты недоступен.

1 Ответ

3 голосов
/ 27 ноября 2011

Консоль использует базу данных разработки, но спецификации используют тестовую базу данных.Убедитесь, что email определено в обоих.

...