Pertanyaan rspec, pertanyaan atribut tidak dikenal


Saya bekerja melalui situs (baik) railstutorial.org telah memiliki pertanyaan dasar tentang rspec.

Saat saya menjalankan pengujian di bawah ini pada model pengguna baru, saya mendapatkan pesan "atribut tidak diketahui: nama pengguna" dan tes yang gagal.

  before(:each) do
   @attr = { :lname_e => "User", :fname_e => "Test", :email => "user@example.com", :username => "testUser" }
  end

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

Error sintaksnya

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

Bidang berada di tabel pengguna (string), itu dalam model sebagai attr_accessible dan di konsol saya dapat membuat pengguna dengan sintaks yang sama persis dalam ujian. Bidang "nama pengguna" ini ditambahkan melalui migrasi setelah membuat tabel awal, apakah ada file lain yang perlu saya perbarui di sini?

Terima kasih,


14
2018-01-27 14:23


asal


Jawaban:


Apakah Anda lari rake db:test:prepare?


26
2018-01-27 14:38



Bidang ini mungkin hilang dari basis data uji Anda, tetapi ada dalam basis data pengembangan Anda (itulah mengapa konsol berfungsi).

Coba pastikan migrasi Anda sudah diperbarui dan kemudian perbarui basis data uji:

rake db:migrate
rake db:test:prepare

20
2018-01-27 14:37