これらのツールの両方で ajax を偽装できます。Sinon では、テストに便利なスタブ/スパイ/モックを作成できますが、mockjax では作成できません。ajax 呼び出しを偽造する場合、mockjax は Sinon よりも多くの機能を提供しますか? そうでない場合は、両方を使用しても意味がありません。
var response = [];
var statusCode = 200;
var responseTime = 0;
mockjax を使用して ajax 呼び出しを偽装する方法の例:
$.mockjax({
url: server_api_url + "/Something/GetData",
status: statusCode,
responseTime: responseTime,
contentType: "application/json",
responseText: response
});
Sinon.js で ajax 呼び出しを偽造する方法の例:
var def = $.Deferred();
var stubGetData = sinon.stub(serverApiForSomething, "GetData");
def.resolve(response);
stubGetData.returns(def);
serverApiForSomething は、ajax 呼び出しをカプセル化するグローバル クラスです。
ServerApiForSomething = function()
{
var self = this;
self.GetData = function(param)
{
var ajaxOption =
{
url:server_Api_Url + "/Something/GetData",
type: "GET",
data: { param.toJSON() },
contentType: "application/json",
dataType: "json"
}
return $.ajax(ajaxOption);
}
}
serverApiForSomething = new ServerApiForSomething();