4

以下のようなコードを使用して、アプリケーション内のリンクのテストを記述した Ruby on Rails 3.2.6 アプリケーションがあります。

visit about_path
click_link "Frequently Asked Questions (FAQ)"
page.should have_selector 'title', text: full_title('Frequently Asked Questions (FAQ)')

アプリケーション全体に、Twitter や Facebook でフォローできるリンクがあります。これらのリンクをクリックすると、新しいウィンドウが開きます。リンクをクリックしたときに適切なページに移動していることを確認したいと思います。

テスト駆動開発、Rspec、カピバラについてまだ学んでいるので、Amazon から Rspec Book を購入しました。この本のいくつかのセクションを確認しましたが、この問題に対処する情報は見つかりませんでした。

http://www.amazon.com/The-RSpec-Book-Behaviour-Development/dp/1934356379

どんな助けでも大歓迎です。

4

2 に答える 2

1

href独自のコード (生成されたページに正しいリンクが含まれている) を確認する場合は、問題のリンクのプロパティをテストします。そんな感じ:

href = "http://www.amazon.com/The-RSpec-Book-Behaviour-Development/dp/1934356379"
page.should have_selector "a[href='#{href}']", text: "The Rspec Book"

URL自体を確認したい場合(正しくコピーしたか、URLがまだ正しいページを指していること)-関連するCapybara docs: Calling remote serversです。

于 2012-08-23T16:03:47.680 に答える
0

デフォルトでは、Capybara は :rack_test ドライバーを使用します。これは高速ですが制限があります。JavaScript をサポートしておらず、Rack アプリケーションの外部の HTTP リソース (リモート API や OAuth サービスなど) にアクセスすることもできません。これらの制限を回避するために、機能に別の既定のドライバーを設定できます。たとえば、すべてを Selenium で実行したい場合は、次のようにします。

Capybara.default_driver = :selenium

https://github.com/jnicklas/capybara

于 2014-06-01T10:45:40.980 に答える