gpt4 book ai didi

react-native - 用 Jest 测试react-native应用程序时未定义XMLHttpRequest

转载 作者:行者123 更新时间:2023-12-04 08:22:32 27 4
gpt4 key购买 nike

我正在尝试使用玩笑(集成测试)在基于React-Native的应用程序中测试apiwrapper。
当我在iOs模拟器中运行它时,一切运行正常,但是无法正确运行我的笑话测试-我总是得到:

ReferenceError: XMLHttpRequest is not defined

当我尝试使用我的api包装器运行测试时,例如:
it('Login successful with correct data', () => {
let api = Api.getInstance();
return api.login("test", "testpass")
.then(result => expect(result).toEqual('login_successful'));
});

我要在此处测试的api类确实使用了提取api(而不是vanilla xhr)。我认为它与玩笑试图 mock 某物有关,但是还没有找到一种使它起作用的方法。

提前致谢。

最佳答案

我在使用lokkaXMLHttpRequest时遇到了类似的问题。我为lokka做了一个模拟,它是我的api包装器类所依赖的。您可以尝试 mock api包装器。

这就是我的lokka模拟现在的样子。当我开始测试错误处理时,我将添加更多内容。

export default class {
query() {
return new Promise(resolve => {
resolve(200);
});
}
}

您也许可以使用类似的东西来模拟您的api包装器:
export default class Api {      
getInstance() {
\\ However you implemented getInstance
}

login(user, password) {
return new Promise(resolve => {
resolve('login_successful');
});
}
}

关于react-native - 用 Jest 测试react-native应用程序时未定义XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38830627/

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