开玩笑未实现window.alert()

开玩笑未实现window.alert(),第1张

开玩笑未实现window.alert()

在默认的测试环境

Jest
是一个类似浏览器所提供的环境
jsdom

jsdom
实现了实际浏览器将提供的大部分功能(包括全局
window
对象),但并未实现所有功能。

专门为这种情况下,

jsdom
没有实现
window.alert
,而是抛出
Error
时,它被称为可以在源代码中可以看出这里。


只要您知道代码为什么要启动,

alert
并且知道测试除了之外
Error
还可以正常运行,那么您可以
Error
通过为空提供以下实现来抑制
window.alert

test("login api resolves true", () => {  const jsdomalert = window.alert;  // remember the jsdom alert  window.alert = () => {};  // provide an empty implementation for window.alert  return expect(AuthManager.login("test", "test")).resolves.toMatchObject(    expect.objectContaining({      accessToken: expect.any(String),      email: expect.any(String),      expiresIn: expect.any(Number),      refreshToken: expect.any(String),      userFullName: expect.any(String),      userId: expect.any(Number)    })  );  // SUCCESS  window.alert = jsdomalert;  // restore the jsdom alert});


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4921700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-13
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存