【问题标题】:Testing code that uses process.on('unhandledRejection') with AVA将 process.on('unhandledRejection') 与 AVA 一起使用的测试代码
【发布时间】:2021-05-15 15:07:36
【问题描述】:

如何使用 AVA 测试注册了unhandledRejection 回调的库:

  process.on('unhandledRejection', e =>
    // do something effectful
  );

在这种环境中,未处理的拒绝不一定是库中的错误。我想确保我的库能够抵御导致未处理拒绝的用户回调。

没有办法做到这一点,我必须使用不同的测试框架(如 Tape)来执行这些测试。

【问题讨论】:

    标签: javascript integration-testing ava


    【解决方案1】:

    AVA 会将测试文件中未处理的拒绝视为失败。您必须在“其他地方”运行您的代码,作为子进程或工作线程。


    我想确保我的库能够抵御用户回调导致未处理的拒绝。

    恕我直言,这是您的用户问题。如果您的库调用用户提供的代码并且您正在等待一个承诺返回值,您可以尝试/捕获该错误,但可以说让程序崩溃是完全有效的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-05
      • 2020-11-13
      • 1970-01-01
      • 2021-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多