ember-data rest アダプターを介してサーバーに保存するモデルがあります。
ember-data のコミット機能をスタブまたはモックすることにより、ember-data が既にテストされているものを再テストせずに、データがサーバーに正しく送信および返されていることをテストするにはどうすればよいですか?
できればジャスミンで!
ember-data rest アダプターを介してサーバーに保存するモデルがあります。
ember-data のコミット機能をスタブまたはモックすることにより、ember-data が既にテストされているものを再テストせずに、データがサーバーに正しく送信および返されていることをテストするにはどうすればよいですか?
できればジャスミンで!
単体テストでは、実際のクライアント サーバー通信を使用しないでください。通常、ブラウザの XMLHttpRequest 実装をモックします。
jasmine-fake-ajaxやsinonjsなどのツールがたくさんあります。どちらもブラウザの XHR 実装をオーバーライドし、サーバーをシミュレートします。したがって、ルートと返すべきものを設定できます。どちらも非常に細かく調整できるため、for タイプ、content-type、または http 応答コードを設定するかどうかを確認できます。
{
setUp: function () {
this.xhr = sinon.useFakeXMLHttpRequest();
var requests = this.requests = [];
this.xhr.onCreate = function (xhr) {
requests.push(xhr);
};
},
tearDown: function () {
this.xhr.restore();
},
"test should fetch comments from server" : function () {
var callback = sinon.spy();
myLib.getCommentsFor("/some/article", callback);
assertEquals(1, this.requests.length);
this.requests[0].respond(200, { "Content-Type": "application/json" },
'[{ "id": 12, "comment": "Hey there" }]');
assert(callback.calledWith([{ id: 12, comment: "Hey there" }]));
}
}