jquery - QUnit:如何在不修改ajax调用的情况下测试ajax调用

标签 jquery qunit mockjax

如何为此编写 QUnit 测试:

function doSomethingWithAjax() {
    $.ajax({
        url: '/GetHelloWorld',
        success: function(data) { $("#responseFromServer").text(data); },
    });
}

Mockjax+qunit 需要在 ajaxcomplete() 方法中调用 start() 。

最佳答案

test("should mock ajax", function() {

    $.ajax = function(options) {
        equals(options.url, "/GetHelloWorld");
        options.success("Hello");
    };

    doSomethingWithAjax();

    equal($("#responseFromServer").text(), "Hello");
});

关于jquery - QUnit:如何在不修改ajax调用的情况下测试ajax调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9384292/

相关文章:

javascript - 尝试创建嵌套下拉菜单,将鼠标悬停在父项上时会出现子弹出窗口

javascript - 镜像播放视频作为背景而不使用双缓冲?

javascript - QUnit/赛农 : testing a function which checks if cookies are enabled

javascript - 延迟的 jQuery AJAX 请求不运行 done() 回调函数

http - Mockjax HTTP 错误代码

javascript - 固定位置全高 div 滚动问题

jquery - 提交按钮需要在IE上点击两次

phantomjs - 尝试设置 Grunt 来自动化一些测试,测试在浏览器中工作正常,但在命令行中不行

ember.js - 如何在 Ember 中测试路由的 willTransition Action ?