LoginSignup
13
9

More than 5 years have passed since last update.

Rspecでテストを実行すると`ActiveModel::MissingAttributeError:`になる

Posted at

出たエラーはこんなやつ

Failure/Error:
       hogehoge.create(user: user, state: hoge)

     ActiveModel::MissingAttributeError:
       can't write unknown attribute `state`

エラーを直訳すると、不明な属性stateを書き込めません
多分、stateが無いよってことだ。

bin/rails cして、同様の操作を行うと問題なく登録できるし、hogehoge.stateってやっても値は取得できる。

原因は単純で、テストDBが壊れていたとのこと。
そんな時は、こちらを実行すれば良いと教えてもらった。

¥ bin/rake db:test:prepare

このrakeタスクはtest用のDBを再構築してくれるイメージでOKとのこと。
以前はrake db:test:cloneというのも使われていたらしいが、非推奨かもしれないので、上記使うと良いとのことでした。

13
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9