Open4

RSpec初心者個人的メモ

cryZcryZ

セレクトボックスのvalueを指定したけどUnable to findと言われる、、、

要チェック
test用databaseにseedデータ入れてる??

rails db:seed RAILS_ENV=test
cryZcryZ

confirm ダイアログをOK操作したい時

page.accept_confirm

他にも

:accept_alert
:accept_confirm
:dismiss_confirm
:accept_prompt
:dismiss_prompt
cryZcryZ

バリデーションテスト中にちょっとハマってしまった

:presenceをtrueにしている外部キーが空の場合にエラーメッセージを吐くテスト
PostモデルとUserモデルを例にすると
「user_idが空だとバリデーションにひっかかり、エラーを吐く」というテストをしたかったのだが

expect(post.errors[:user_id]).to include("を入力してください")

これではエラーメッセージは取れなかった

expect(post.errors[:user]).to include("を入力してください")

このように_idを入れなければ取得できた。。。
そもそもerrors[]でエラーを取得するときの仕組みというか内部的なサムシングについて理解が浅いからこうなったのだと反省

cryZcryZ

特定のファイルだけテストしたい

bundle exec  rspec spec/system/users_spec.rb

こんな感じでファイルパスを指定すればOK