1
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 3 years have passed since last update.

結合テストコードでのエラー文 but there were no matches に苦しめられた

Posted at

エラー文

  1) ユーザー詳細ページ ユーザー詳細ページが表示されない ログインしていないとログイン画面に遷移する
     Failure/Error: expect(page).to have_link "by #{@prototype.user.name}", href: user_path(@prototype.user)
       expected to find link "by YU" with href "/users/1670" but there were no matches

のような感じです。

結論

expect().to have_linkのhref属性にはprefixは使えないぽいです。
URIの形で記載しなければならないのかなと思います。
また何かわかったら追記します。

エラー

expect(page).to have_link "by #{@prototype.user.name}", href: user_path(@prototype.user)

###エラーが解消

expect(page).to have_link "by #{@prototype.user.name}", href: "/users/#{@prototype.user.id}"

何をしていたか

結合テスとコードをRspecで書いていました。
Twitterのように何か投稿をしてその投稿に組み込んだ"by 名前"をクリックするとその名前の人の詳細ページに飛ぶというものです。have_linkメソッドはaタグに使用できるものなので、リンクのボタンにそのリンクがついているかというテストをするときに使うと思います。

以上

1
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
1
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?