4

angular アプリは、REST API を介してサーバーと通信します。この API をモック アウトして、フロント エンドをすばやく開発したいと考えています。

私が見る2つのアプローチがあります:

  1. ngMockE2E $httpBackendを使用します。これには以下が必要です。

    • 単純な静的ファイル サーバーの起動 (例: python -m SimpleHTTPServer)
    • クライアントに angular-mocks.js をロードする
    • $httpBackend必要なものを返すようにモックを構成します。

    欠点: モック バックエンドを使用するかどうかを決定するクライアント側のロジックが必要です。また、実際の $httpRequests をモックしないため、すべての flush() 呼び出しで混乱する可能性があります。

  2. 実際のモック バックエンドを作成します。たとえば、実際のxhr リクエストに応答する非常に基本的な node.js サーバーを起動します。

    欠点:?

ngMockE2e $httpBackend は他の人が使用しているようですが、理由はわかりません。実際の (モック) バックエンドを使用すると、より簡単になり、開発中にエラーが発生する可能性が低くなります。

4

4 に答える 4

0

.jsonのすぐ隣にファイルを作成するだけですindex.html$httpバックエンドが返すデータを含むこの json ファイルをフェッチするリクエストを行います。これは、バックエンドをモックする最も簡単な方法です。もちろん、Angular アプリを Web サーバー経由で提供していると仮定しています。まだ Web サーバーを実行していない場合、このソリューションは機能しません。

本番環境では、この json ファイルの URL を実際の REST エンドポイントに置き換えるだけです。

于 2013-05-08T14:07:33.487 に答える
0

バックエンド モッキングのより自動化された別の方法については、rest-jsonと一緒にうまく機能するswagger-api-mockを見てください。これらのモジュールを一緒に使用して、$httpBackend 応答を生成できます。rest-json.js は、json データへの http のようなアクセスとして、swagger-api-mock/lib/mock-data.js は、swagger に基づく json モック データ オブジェクトのジェネレーターとして使用できます。 (または json スキーマ) 定義

于 2015-07-03T21:49:13.233 に答える