我無法窺探單個測試規範中的多個ajax請求。我想使用JASMINE測試以下myFirstFunction()
和mySecondFunction()
。如何使用JASMINE監聽多個AJAX呼叫?
it("Test myFirstFunction & mySecondFunction", function() {
var operation = "customerPreviousOrder";
var myFirstFunctionData = [{"accessFlag":true}]
spyOn($, "ajax").andCallFake(function(params) {
params.success(myFirstFunctionData);
});
myFirstFunction();
expect(<Something>).toEqual(<Something>);
});
我想從上面的測試規範測試mySecondFunction()
-
function myFirstFunction() {
$.postJSON('test1.htm', {operation:operation}, function (data) {
if (data != null && data.errorMsg != null && data.errorMsg.length > 0) {
$.populateErrorMessage(data);
} else {
operationAccess = data;
var tempAccessFlag = operationAccess[0].accessFlag;
if (tempAccessFlag) {
mySecondFunction();
}
}
});
}
function mySecondFunction(operation, operationAccess, reason) {
$.postJSON('test2.htm', {windowStart:0, windowSize:4}, function (data) {
if (data != null && data.errorMsg != null && data.errorMsg.length > 0) {
$.populateErrorMessage(data);
} else {
if (null != data && data.accessFlag == "SUCCESS") {
//do something
} else {
//do something
}
}
});
}
我如下如下寫了下面的測試規範&能夠窺探第一postJSON。由於myFirstFunction()
致電mySecondFunction()
。那麼我怎麼能窺探第二個postJSON呢?
的[茉莉花AJAX(https://github.com/jasmine/jasmine-ajax)你使用哪個版本?看起來像'jasmine.Ajax.useMock'沒有在2.0中定義:http://jasmine.github.io/2.0/ajax.html –
我找不到版本號,但我添加了mock-ajax.js 2013年初。所以我想它是古老的:) – Sve
從簡單的一下看:jasmine-ajax 3.2.0實現了一個requestTracker。請求通過'jasmine.Ajax.requests.at()'訪問。 –
Sve