私はこれに少し慣れていませんが、rspecにリンクをクリックさせようとしています。索引ページャーの「表示」リンクを、アイテムの名前であるリンクに置き換えました。
つまり、私のビューにはこれがあります
<td><%= link_to task.name, task_path(task) %></td>
私のrspecファイルには参照がありました
find(:xpath, "(//a[text()= 'Show'])[1]").click
次のようなものに変えたい
find(:xpath, "(//a[text()= @task1.name])[1]").click
リスト内の正しいタスクが選択されるはずなので、それをフォローできます
it { should have_content(@client.name) }
it { should have_content(@task1.name) }
it { should have_content(@task1.description) }
残念ながら、その @task.name を壊さないようにする方法がわかりません。
何か案は?
アップデート:
Failure/Error: find(:xpath, "(//a[text()= @task1.name])[1]").click
Capybara::ElementNotFound:
Unable to find xpath "(//a[text()= @task1.name])[1]"
# ./spec/requests/task_pages_spec.rb:123:in `block (4 levels) in <top (required)>'