2011-07-15 5 views
0

私はomniauthとキュウリを新しいアプリケーションで使用しています。私はomniauthを持っていて働いており、適切なキュウリの機能テストを追加しようとしています。私はテストで奇妙なエラーに走っていました - 同じ手順を手動で実行するときには得られないエラーです。キュウリ&カピバラにfile:///パスの代わりにhttp://パスを使用させるにはどうすればよいですか?

ビア「私のページを示して、」私はキュウリは何もしないときには、ファイル・パスを経由して、それをやっているという事実(例えば、file:///path/to/app/tmp/capybara/capybara-201107151148029152254898.html)の代わりに、HTTPパスにそれを絞り込むきた(例えば、http://localhost:3000/)。

私のキュウリ試験は、httpパスの代わりにファイルパスを通過するのはなぜですか?この状況をどのように修正するのですか?

答えて

1

私ができる唯一のカピバラには、次のステップとして、「私のページを表示する」を実装することを推測する:

  1. が現在のページからHTMLソースを取り、ファイル
  2. オープンそのHTMLファイルに書き込む

あなたのテストでは、HTTPを使用してアプリケーションを正常に動作させることができます。 (ログファイルを見ることで、いつでもそのことを確認できます)。しかし、「ページを見せてください」では、リクエストからリクエストにコンテンツが変わる可能性があるため、テストしていたURLを単に開くことはできません。

例:テストは/commentsに投稿することによってコメントを投稿します。それが何らかの理由で失敗し、Capybaraが/comments(例外を発生させたURL)を開くと、それはGETリクエストを発行し、あなたに見たコンテンツを提示できませんでした。

+0

これは正しいです。 'save_and_open_page'はhttpコンテンツをローカルファイルに保存し、それを開きます。 –

関連する問題