gpt4 book ai didi

javascript - 用 Jest 测试 XHR

转载 作者:行者123 更新时间:2023-11-29 21:51:07 26 4
gpt4 key购买 nike

我有这个简单的测试用例:

describe ('Request', function () {
it ('should perform a XHR "GET" request', function (done) {
var xhr = new XMLHttpRequest;

xhr.open('GET', 'http://google.com', true);
xhr.send();
});
});

重点是:当我在我的终端中执行 jest 时,它似乎没有请求 http://google.com。我认为这是因为 Jest 使用了 jsdom。在引擎盖下,它无法从浏览器本身重现 HTTP 请求。

建议?

注意:出现任何错误,测试通过,但未发出请求。

最佳答案

我假设您不打算进行单元测试,而是打算创建某种集成测试,或者您想为调用的 API 编写测试。

在这两种情况下,您都必须为全局范围提供 XMLHttpRequest 对象,因为它在节点 js(运行测试代码的平台)中不存在

你可以通过安装这个包来做到这一点: https://www.npmjs.com/package/xmlhttprequest

然后在您的任何测试之前运行此代码:

global.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

您也可以不为此目的使用 jest,而是使用 chakram 或 frisby,它们都是为 API 测试而构建的,并且都负责为您发出请求。

关于javascript - 用 Jest 测试 XHR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com