繁体   English   中英

如何在Jest JS中测试未处理的拒绝和已处理的拒绝

[英]How to test unhandled rejection and handled rejection in Jest JS

我有一堂课,我想捕捉拒绝错误。

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个案例?

我将仅针对一种情况描述一个示例。 第二种情况需要类似的方法。

  1. 提取事件处理程序函数以分离方法。 例如onUnhandledRejection
  2. 模拟Logger.prototype.onUnhandledRejection
  3. 创建Logger实例。
  4. 执行window.dispatchEvent('unhandledrejection')
  5. 检查是否调用了instance.onUnhandledRejection

上面的步骤使您可以检查是否设置了正确的事件处理程序。 接下来,您可以像其他任何类方法一样测试onUnhandledRejection

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM