不使用 XHR 加载资源

Loading resources without XHR

在对平台的扩展进行单元测试(使用 QUnit)期间,我试图模拟 XHR 调用,以便我可以控制响应并测试所有场景。

var XMLHttpRequest = function (i) {
    var fakeOpen = function (method, url, cache) {
        return ({"name": "Albert"});
    };
    var fakeReadyStateChange = function () {
        return 4;
    };
return {
    open: fakeOpen,
    onreadystatechange: fakeReadyStateChange
   };
};

问题是我必须使用 JQuery get 从相当大的 HTML 文件中注入要测试的元素之一。

$.get('../js/setup/prequal_prechat_window.html', function (data) {
        $(data).appendTo('#PCS');
    });

有没有其他方法可以加载不使用 XHR 的 HTML?

您可以使用 Sinon.js 来达到这个目的,它可以帮助您创建一个假的服务器来响应您喜欢的 XMLHTTP 请求。

Sinon.js