あなたはSalesforceのやり取りのスイートのように書くべきです。
テストの基本原則は、外部要因のためにテストが失敗しないことです。しかし、あなたのアプリはSalesForceのエラーから回復できるはずです。
Rails 4 Test Prescriptions
から残念ながら、サードパーティのWebサービスと対話することは、私たちのテストに複雑の をたくさん紹介しています。 Webサービスへの接続は で、遅くてもデータベース接続よりも遅くなりました。すでに試してみましたが、 は避けてください。さらに、Webサービスへの接続にはインターネットが必要です 接続...一部の外部サービスは公開されています。私たちはテストを実行するたびにTwitterに更新情報を投稿したくないのですが、PayPalにクレジットカードによる支払いを掲載することはできません。
また、本はいくつかのガイドライン、テスト中にHTTPリクエストをインターセプトし、 は缶詰のレスポンスオブジェクトを返す
偽のサーバーを持っています。私たちはVCR gemを使用しています... * アダプタ。クライアントとクライアントの間でアクセスを仲介するために サーバの間に位置するオブジェクトです。
クライアントから実サーバまでのスモークテスト...インタラクション全体の完全なエンドツーエンドテスト。 は、これまでに挙げたすべての理由によりこれを頻繁にやりたいとは限りませんが、サーバAPIの変更を防ぐためには、 が便利です。
統合テストは、クライアントから偽のサーバーに移行します。 これは、アプリケーションのエンドツーエンド機能全体をテストしますが、 は、サーバーからのスタブ応答を使用します。
クライアントでテストを開始し、 アダプタで終了します。アダプターの応答はスタブされているため、アダプター は偽サーバー呼び出しをしていません。これにより、 クライアントをサーバーAPIから完全に分離して単体テストできます。
アダプタユニットテストは、アダプタで起動し、 偽のサーバで終了します。これらのテストは、チェーンの最後のピースであり、私たち がところで、任意のクライアントから別のアダプタまたは 実際のサーバー
の動作を検証することができ、私は本を持っている必要があります
だと思います