1

RSpec を使用して Rails アプリをテストするために Capybara を使用しています。visit "/bars"正しく呼び出すと、barsリソースのインデックス ページに移動します。visit "/bars/1"しかし、 (aが 1barで保存されている場所で)を呼び出すとid、手動で URL を入力しても問題なく動作するにもかかわらず、不思議なことにインデックス ページにも移動します。

インデックス ページには特定のbarsページ ( など"/bars/1") へのリンクも含まれており、これらのリンクはブラウザーで完全に機能しclick_linkますが、カピバラのそれらのリンクでは代わりに (ご想像のとおり) インデックス ページに戻ります。

どちらの場合もshow、コントローラー内のメソッドはbars、ブラウザーでクリックしているときに呼び出されますが、カピバラを使用しているときに呼び出されることはありません。

何が起こっているのか誰にも分かりませんか?

4

1 に答える 1

0

「dbに保存」してブラウザで閲覧できる場合は開発用dbです。Capybaraはテスト用dbを扱いますが、おそらくそこには記録がありません。

そのような記録がなく、ホームへの 404 リダイレクトを設定することもできますが、カピバラではそのような結果が予想されます。

別の注意として、名前付き ID をテストで 1 と言うのは良くありません。最後に挿入されたレコードが id 1 でなければならないという保証はありませんbars_path @barbars_path Bar.last

于 2013-08-23T07:39:49.117 に答える