2012-05-07 7 views
2

私は、残りのWebサービスを介して通信する2つの異なるレールアプリケーション(サーバーとクライアント)で構成されるシステムを開発しています。2つのレールアプリケーション間のテスト統合

私はそれぞれのアプリケーションを個別にテストしていますが、2つのプラットフォーム間の統合テストを追加して、もう一方が期待しているものと互換性のある要求を作成することを確認したいと思います。

ヒントがあれば幸いです。

+0

サーバーを(たとえローカルに)配備してクライアントの統合モジュールの仕様書を書くことができないのですか? –

+0

私はそれらをローカルで実行することができますが、私は自動化された方法でそれをやりたいのですが、(クライアントアプリケーションからテストを実行すると)サーバーのセットアップ/開始/停止を行う方法がわかりません。 – alberto

+0

どちらもしません。しかし、実際に自動スタートアップ/シャットダウンが本当に必要ですか?あなたは簡単にそれを起動し、外部依存として扱うことができます。 –

答えて

1

私は同様のアーキテクチャを持ち、すべてのサーバー側のレスポンスを記録し、常にリクエストを行うのを避けるためにVCRを使用しています。それは迷惑になる可能性があり、今私はすべての要求の後にサーバーからデータをクリーンアップする方法を探しています

私はVCRあなたのアプリ間の統合をテストするための良いスタートポイントと思われる。

あなたがここにドキュメントを見つけることができます - >Relish Docs

0

を私はあなたが実装されたものによっては、ここではいくつかの方法があるかもしれないと思います。..

  1. クライアントのRailsアプリは、ユーザー・インターフェースを持っている場合は、にしてみてくださいSelenium testsを作成して、ローカルの開発環境または両方がデプロイされているステージング環境で統合テストを実行します。

  2. おそらく、クライアントの一部はRubyの宝石(例えば、コミュニケーションの残りのAPIはルビーの宝石です)として書くことができます。テスト環境でサーバーアプリケーションは、サーバーのRailsアプリケーションは、統合テストを実行するクライアントの宝石を使用することができます、つまり、モジュール関数を呼び出す、同じ関数がクライアントによって使用されます。クライアントのRailsアプリケーションは、gemを使用してサーバーに要求を行うこともできます。 Here's a good guideあなたの再利用可能なコードのいくつかをrubygemに移行し始めます。

関連する問題