rails 結合テスト Ambiguous match, found 2 elements matching」の解消

1 min read読了の目安(約600字

みなさん、こんばんは!

今日はオリジナルアプリアプリの結合テストのときに起きたエラーの解決をしたので、記録しておきます!

シチュエーション

投稿された記録に対して、コメントができるかどうかの結合テスト時に

コード

#省略

 expect{
      find('input[name="commit"]').click
    }.to change { Comment.count }.by(1)

この記述で、送信ボタンをクリック、クリックしたら、コメントが1つ保存されるという処理

タイトル回収

タイトルのエラーが起きました!
色々と調べると、要素が重なって、どれかわからんみたいなエラー!

いろいろな要素が重なってできたボタンだから起きたエラー
name,id,cssなど

解決法

expect{
      click_on '送信する', match: :first
    }.to change { Comment.count }.by(1)

match: :firstで一番初めの要素を取得するみたいです!

今日の学び

はじめの記述法は間違えてはいないが、起きてしまったエラー。
様々な方法で実行できるように、知識の引き出しの量も大切だなと思った学びでした!

明日でスクール卒業です!
卒業後も自学できるようにがんばるぜ!