2011-01-27 45 views
14

Tôi đang làm việc thông qua trang web railstutorial.org (xuất sắc) có câu hỏi cơ bản về rspec.rspec, câu hỏi thuộc tính chưa biết

Khi tôi chạy thử nghiệm dưới đây trên mô hình người dùng mới, tôi nhận được thông báo "thuộc tính không xác định: tên người dùng" và thử nghiệm không thành công.

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 

Lỗi cú pháp là

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)>' 

Các lĩnh vực có trong bảng người dùng (string), đó là trong mô hình như attr_accessible và trong giao diện điều khiển tôi có thể tạo một người dùng với chính xác cú pháp tương tự trong kiểm tra. Trường "tên người dùng" này đã được thêm thông qua di chuyển sau khi tạo bảng ban đầu, có một số tệp khác mà tôi cần phải cập nhật tại đây không?

Xin cảm ơn,

Trả lời

26

Cậu chạy rake db:test:prepare?

20

Trường này có thể bị thiếu trong cơ sở dữ liệu thử nghiệm của bạn, nhưng có trong cơ sở dữ liệu phát triển của bạn.

Cố gắng đảm bảo sự di cư của bạn đều được cập nhật và sau đó cập nhật cơ sở dữ liệu kiểm tra:

rake db:migrate 
rake db:test:prepare 
+0

yup, đúng vậy. Cảm ơn – nktokyo