2016-04-14 5 views
2

を使用してAJAX機能をスタブする方法:私は機能をスタブし、応答を確認したいここに私のコードであるジャスミンのAjax

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プラグインを使ってそのことができますか?

答えて

0
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 
}); 

失敗について、あなたはe.error()でcallFakeを交換し、successCallBackfailCallBack

は答えを修正し、さらに情報 http://www.htmlgoodies.com/html5/javascript/testing-ajax-event-handlers-using-jasmine-spies.html

+0

については、以下のリンクを参照してくださいすることができため、あなたが主張する逆。ガイダンスのための@ Reti43ありがとう。私はここでかなり新しいです –

関連する問題