$resource サービスを拡張する RESTful サービスを持つ Angular.js アプリケーションを開発しています。このアプリは将来的に Java Spring アプリケーションに接続しますが、現在、クライアント側からアプリケーションに必要なすべてのルートを提供する分離されたモックをセットアップしようとしています。Backbone.js などの他の MV* フレームワークを使用して、他のアプリを開発するときにルートを提供する偽のクライアント側サーバーを作成するために Sinon.js を使用したことがあります。
JSON データをフェッチするための「標準的な」ajax 呼び出しとは異なり、JQuery/Backbone が実行するように、Angular は XHR を異なる方法で使用し、要求をハイジャックしてクライアント側から応答しようとする Sinon の試みによって「騙され」ないようです。
代わりに、$httpBackend を使用して、準備が整ったデータで偽のルートを作成しようとしましたが、このサービスは、セットアップする必要がある「ステージング環境」ではなく、単体テストのみに使用することを意図していたようです。
これは、JQuery.ajax では機能しますが、Angular の $resource または $http では機能しない、私の Sinon セットアップの様子です。
var server = sinon.fakeServer.create();
server.respondWith("GET", /mydata/gi, [200,
{ "Content-Type": "application/json" },
JSON.stringify({
data: "myData"
})
]);
server.autoRespond = true;
これが Angular でどのように機能しないかについてのアイデアはありますか? または、さらに良いことに、Angular アプリにそのようなモックを設定する方法を知っている人はいますか?