1

Rails アプリと Sinatra API が別々のコードベースで提供されています。それらは同じデータベースと連携する必要があります。

API を使用してレコードを作成し、Rails アプリを使用してそのレコードのページを表示できます。API を使用してレコードを作成する場合、同時に作成する必要がある他の多くのレコードがあります。これはすべて、Rails アプリでは正常に行われます。

ここに問題があります: API がレコードを作成するときに、他のすべてのレコードが作成され、Rails アプリでページが適切にレンダリングされることをテストする最良の方法は何ですか?

このためにRailsアプリでテストを書いています。API は Rails アプリから分離されているため、モックを作成できます。しかし、モックは API が行うすべてのことを行う必要があるため、実際にはモックではありません。

レコードを作成するための呼び出しを含む API ファイルを Rails アプリに含めることは可能 (または実用的) ですか?

または、これをテストするより良い方法はありますか?

4

2 に答える 2

2

さて、あなたは 2 つの Web アプリケーションを持っています。つまり、ネット上で (多かれ少なかれ) パブリック インターフェイスを公開し、HTTP 呼び出しに応答する 2 つのアプリケーションです。

HTTP クライアントを使用して 2 つのサーバーすべてを呼び出し、完全なテスト (必要に応じて「ワークフロー テスト」) を実行してみませんか?

これには、おそらく既存の Web テスト ツールを使用するか、任意の言語でテスト スクリプトを作成できます。

于 2012-11-30T19:52:50.650 に答える
0

いいえ、API からのファイルを Rails アプリに含めることはできません。

それらは異なるサーバーでホストされています。ローカル マシンで動作させたとしても、本番環境では動作しません。

編集:実際には、これは真実ではありません。ファイルをテストのために共有する必要がある場合は、ローカル マシンでのみ実行されます (何らかの CI システムがない場合)。したがって、本番環境は問題ではありません。テスト (CI) 環境のみが重要です。

于 2012-12-09T15:37:52.760 に答える