使用 process.on('unhandledRejection') 和 AVA 的测试代码
Testing code that uses process.on('unhandledRejection') with AVA
如何使用 AVA 测试注册了 unhandledRejection
回调的库:
process.on('unhandledRejection', e =>
// do something effectful
);
在这种环境下,未处理的拒绝不一定是库中的错误。我想确保我的库能够抵抗用户的回调导致未处理的拒绝。
没有办法做到这一点,我必须使用不同的测试框架(如 Tape)来执行这些测试。
AVA 会将测试文件中未处理的拒绝视为失败。您必须 运行 您的代码“别处”,作为子进程或工作线程。
I want to ensure that my library is robust against users' callbacks causing an unhandled rejection.
恕我直言,这是您的用户问题。如果您的库调用用户提供的代码并且您正在等待承诺 return 值,您 可以 尝试/捕获该错误,但可以说让程序崩溃是完全有效的。
如何使用 AVA 测试注册了 unhandledRejection
回调的库:
process.on('unhandledRejection', e =>
// do something effectful
);
在这种环境下,未处理的拒绝不一定是库中的错误。我想确保我的库能够抵抗用户的回调导致未处理的拒绝。
没有办法做到这一点,我必须使用不同的测试框架(如 Tape)来执行这些测试。
AVA 会将测试文件中未处理的拒绝视为失败。您必须 运行 您的代码“别处”,作为子进程或工作线程。
I want to ensure that my library is robust against users' callbacks causing an unhandled rejection.
恕我直言,这是您的用户问题。如果您的库调用用户提供的代码并且您正在等待承诺 return 值,您 可以 尝试/捕获该错误,但可以说让程序崩溃是完全有效的。