下面是我的代码:
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插件来做的?
发布于 2016-04-15 20:02:04
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,并颠倒successCallBack和failCallBack的断言
有关详细信息,请参阅以下链接http://www.htmlgoodies.com/html5/javascript/testing-ajax-event-handlers-using-jasmine-spies.html
https://stackoverflow.com/questions/36622952
复制相似问题