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

问题描述 投票:1回答:1

我有一个班级,我想在那里发现拒绝错误。

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

javascript jestjs
1个回答
0
投票

我将仅为一个案例描述一个例子。第二种情况需要类似的方法。

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

上面的步骤允许您检查是否已设置正确的事件处理程序。接下来,您可以将onUnhandledRejection测试为任何其他类方法。

© www.soinside.com 2019 - 2024. All rights reserved.