0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Rspecの編集機能の結合テストにて投稿内容がフォーム内に入力されてるか確認する際、ActiveHashの選択肢を用いている場合の記述方法

Posted at

経緯

洋服投稿のオリジナルアプリの編集機能の結合テストを作成中、ActiveHashを用いた選択肢のテスト方法につまづいたため備忘録として記載します。

編集前(誤った記述方法)

基本的な記述方法は通常のフォーム内容と同様で、findに要素を指定し、eqに選択肢のIDを取得するよう記述した。

expect(
  find('要素').value
).to eq (選択肢のid)
expect(
  find('#garment_genre_id').value
).to eq (@garment1.genre_id)

しかしこのままだとターミナル上で以下のエラーが出てしまう。
スクリーンショット 2023-06-14 0.29.24.png

内容的に、expected: 2, got: "2"と数値の2を期待したところ文字列としての"2"を取得してしまっているため、不一致となってしまっていると考えられる。

編集後

上記の異なったIDを一致させるためにeq下の記述を式展開を用いつつ、文字列として期待できるように記述する。

expect(
 find('#garment_genre_id').value
).to eq "#{@garment1.genre_id}"

これで問題なくテストは成功しました。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?