RSpec – 无法写入未知属性(枚举)
型号用户:
class User < ActiveRecord::Base enum my_enum: [ :some_value1, #.... ]
我还有一个迁移,它将my_enum
添加到用户:
def change add_column :users, :my_enum, :integer end
FactoryGirl的夹具:
FactoryGirl.define do factory :user do email { Faker::Internet.email } password { Faker::Internet.password(10) } password_confirmation { password } my_enum { nil } end end
一切正常。 但是当我运行测试时,我收到一个错误:
Failure/Error: paid_user = FactoryGirl.create(:user) ActiveModel::MissingAttributeError: can't write unknown attribute `my_enum`
听起来您的测试数据库尚未正确迁移。 尝试运行以下命令:
bundle exec rake db:migrate RAILS_ENV=test
..然后尝试再次运行rspec。