我有一个类,我想在其中捕获拒绝错误。
export class Logger {
constructor () {
this.registerHooks()
}
registerHooks() {
window.addEventListener("unhandledrejection", (e) => {
e.preventDefault();
var reason = e.detail.reason;
(reason)
console.log(
});
window.addEventListener("rejectionhandled", (e) => {
e.preventDefault();
var promise = e.detail.promise;
this.warn(e)
});
}
我如何在 Jest 的帮助下测试这 2 个案例?..
我将只针对一种情况描述一个示例。第二种情况需要类似的方法。
- 将事件处理程序函数提取到单独的方法。例如
onUnhandledRejection
. - 模拟
Logger.prototype.onUnhandledRejection
. - 创建
Logger
实例。 - 执行
window.dispatchEvent('unhandledrejection')
。 - 检查是否调用了
instance.onUnhandledRejection
。
上述步骤允许您检查是否设置了正确的事件处理程序。接下来,您可以像测试任何其他类方法一样测试onUnhandledRejection
。