私は、残りのWebサービスを介して通信する2つの異なるレールアプリケーション(サーバーとクライアント)で構成されるシステムを開発しています。
各アプリのテストを個別に行っていますが、2つのプラットフォーム間の統合のテストを追加して、一方が他方の期待と互換性のあるリクエストを作成することを表明したいと思います。
ヒントをいただければ幸いです。
私は、残りのWebサービスを介して通信する2つの異なるレールアプリケーション(サーバーとクライアント)で構成されるシステムを開発しています。
各アプリのテストを個別に行っていますが、2つのプラットフォーム間の統合のテストを追加して、一方が他方の期待と互換性のあるリクエストを作成することを表明したいと思います。
ヒントをいただければ幸いです。
私は同様のアーキテクチャを持っており、すべてのサーバー側の応答を記録し、常に要求を作成しないようにするために VCR を使用しています。それは迷惑になる可能性があり、現在、リクエストのたびにサーバーからデータを消去する方法を探しています
アプリ間の統合をテストするには、 VCRが良い出発点になると思います。
ここでドキュメントを見つけることができます - > Relish Docs
実装した内容に応じて、ここにはいくつかのアプローチがあると思います..
クライアント Rails アプリにユーザー インターフェイスがある場合は、Selenium テストを記述して、ローカルの開発環境または両方がデプロイされたステージング環境で統合テストを実行してみてください。(インターフェイスがまだプロトタイプであり、頻繁に変更されている場合は理想的ではありません...)
クライアントの一部を Ruby gem として作成することもできます (たとえば、通信 REST API は Ruby gem です)。サーバー アプリがテスト環境にある場合、サーバー Rails アプリは Client gem を使用して統合テストを実行できます。つまり、モジュール関数を呼び出すと、同じ関数がクライアントによって使用されます。クライアント Rails アプリは、gem を使用してサーバーにリクエストを送信することもできます。これは、再利用可能なコードの一部を rubygem に移行するための良いガイドです。