У этого вопроса есть несколько лет, и для новых версий jQuery и Jasmine немного изменились.
Если вы не хотите использовать jasmine-ajax, вы можете попробовать подход Михаила Фалаги
function ajax_response(response) {
var deferred = $.Deferred().resolve(response);
return deferred.promise();
}
describe("Test test", function() {
beforeEach(function() {
spyOn($, 'ajax').and.returnValue(
ajax_response([1, 2, 3])
);
});
it("is it [1, 2, 3]", function() {
var response;
$.ajax('GET', 'some/url/i/fancy').done(function(data) {
response = data;
});
expect(response).toEqual([1, 2, 3]);
});
});