首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用jasmine AJAX来存根Ajax函数

如何使用jasmine AJAX来存根Ajax函数
EN

Stack Overflow用户
提问于 2016-04-14 20:21:18
回答 1查看 72关注 0票数 2

下面是我的代码:

代码语言:javascript
复制
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插件来做的?

EN

回答 1

Stack Overflow用户

发布于 2016-04-15 20:02:04

代码语言:javascript
复制
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
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36622952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档