2011-06-18 15 views
0

私はTwitterアプリケーションを持っています。すべてのユーザーはTwitterから直接アクセスします。これは、あなたがTwitterからログオンしていない限り、アプリとの重要なやり取りを行うことができないことを意味します。私たちのアプリのキャッシュ(ユーザーのTwitterデータをdbに保存します)。カピバラとモックデータを理解しようとしています

カピバラとオムニアスを統合することは可能です。たとえば、TwitterとOAuthの統合をテストするなどです。私はこれについてオンラインでいくつかの記事を読んだ。しかし、難しい部分は、Devise + Omniauth(私は記事のほんの一部しか見ていない、役に立たなかったことを試してみた)で動作するようになっています。

第2に、私はJS(Uploadify)を使用してS3に直接アップロードしてから、Carrierwaveにファイルを取得するように指示するので、S3へのファイルアップロードをテストすることも検討しました。

OAuthを直接テストするのではなく、模擬データを提供することが最善の方法だと、彼らが提案しようとしているのは、テストデータベースにモックTwitterデータをシードすることだと思います。そうすれば、私は直接アプリでユーザーをテストすることができます。 Rspec + Capybara + Devise + Omniauth + Twitterでテストを受ける方法について心配する必要はありません。

ファイルのアップロードでも同じことができます。これは理にかなっていますか?これは合理的なアプローチですか?

答えて

0

データベースに適切なデータを事前に設定することで、Omniauthなどのすべての統合テストの問題を回避できます。ライブラリ自体はすでにテスト済みであるため、不要なオーバーヘッドも回避できます。

だから、データをすぐにシードしてください。

+0

..あなたを助けるかもしれませんか? –

0

OmniAuthがintegration testingためのヘルパーを持っている..私はそのことについてpostを書いて、それがテスト環境でDBをシードするプロセスである何

関連する問題