Javascript 如何使用jasmineajax存根AJAX函数

Javascript 如何使用jasmineajax存根AJAX函数,javascript,jquery,ajax,jasmine,Javascript,Jquery,Ajax,Jasmine,这是我的密码: function sendRequestData(url, urlParameters) { if (url != null && urlParameters != null) { $.ajax({ url : url, method : 'POST', headers : { 'Accept' : 'application/json' }, conte

这是我的密码:

function sendRequestData(url, urlParameters) {
if (url != null && urlParameters != null) {
    $.ajax({
        url : url,
        method : 'POST',
        headers : {
            'Accept' : 'application/json'
        },
        contentType : 'application/json',
        data : JSON.stringify(urlParameters),
        dataType : "json",
        success : function(data) {
            successCallBack(data)
        },
        error : function(data, status, errorThrown) {
            failCallBack(data, status, errorThrown)
        }
    });
我想存根函数并检查响应。无论如何,我都可以使用jasmine ajax插件来实现这一点

it("should receive a successful response", function() {
  spyOn($, "ajax").andCallFake(function(e) {
    e.success({});
  });
  spyOn(window, "successCallBack");
  spyOn(window, "failCallBack");

  sendRequestData('dummyURL', ['dummyParam1', 'dummyParam2']);
  expect(window.successCallBack).toHaveBeenCalled();  //Verifies this was called
  expect(window.failCallBack).not.toHaveBeenCalled();  //Verifies this was NOT called
});
对于失败,您将callFake替换为
e.error()
,并撤销对
successCallBack
failCallBack的断言

有关更多信息,请参阅下面的链接

修改了答案。谢谢@43的指导。我是新来的