最近、rubyweekly のメールで SitePrism を発見しました。すごいですね。私はそれが未来になるのを見ることができます。
私が見た例は、ほとんどキュウリのステップです。rspecでSitePrismを使用する方法を理解しようとしています。
ホームページに @home_page、login_page に @login_page と仮定すると、それは理解できます
@home_page.load # => visit @home.expanded_url
ただし、よくわからないのは、たとえば「ログイン」リンクをクリックすると、カピバラのブラウザーがログインページに移動すると思う場合です-ログインページのインスタンスにロードせずにアクセスする方法です.
@home_page = HomePage.new
@home_page.load
@home.login_link.click
# Here I know the login page should be loaded, so I can perhaps do
@login_page = LoginPage.new
@login_page.should be_displayed
@login_page.email_field.set("some@email.com")
@login_page.password_field.set("password")
@login_page.submit_button.click
etc...
それはうまくいきそうです。したがって、特定のページにいることがわかっている場合は、そのページのインスタンスを作成し、page.find("a[href='/sessions/new'] のようにカピバラの「ページ」コンテキストを作成します。 ") は最後の SitePrism オブジェクトに転送されますか?
ここで何かが欠けているような気がします。私は遊んで、私が理解できることを見ていきます-何かが欠けているかもしれないと思っただけです. 私はソースを調べていますが、誰かがこれを理解している場合は...気軽に共有してください:)