ActiveRecord::NotNullViolation: RuntimeError: NOT NULL constraint failed: microposts.user_id
Railsチュートリアル13章
「13.1.4マイクロポストを改良する」という項のなかで、テストを実行すると、
ActiveRecord::NotNullViolation: RuntimeError: NOT NULL constraint failed: microposts.user_id
というエラーが出た。
トライ&エラー&ググレカスを繰り返し、結局
orange: content: "I just ate an orange!" created_at: <%= 10.minutes.ago %> user: yuki tau_manifesto: content: "Check out the @tauday site by @mhartl: http://tauday.com" created_at: <%= 3.years.ago %> user: yuki cat_video: content: "Sad cats are sad: http://youtu.be/PKffm2uI4dk" created_at: <%= 2.hours.ago %> user: yuki most_recent: content: "Writing a short test" created_at: <%= Time.zone.now %> user: yuki
microposts.ymlに、それぞれuser:の行を追加して、test/fixtures/users.yml内に存在するユーザー(私の場合yuki、チュートリアル通りだとmichael)に紐づけたら、テスト通過。
追記:章の少し先にいったところ(13.2.3)で、結局user:の行を追加していた。バージョンの違いによってテスト通ったり通らなかったりするようだ。