使用模拟测试工作线程

Yur*_*ter 5 multithreading unit-testing worker-thread jestjs aws-sdk

我的 Node 应用程序使用 AWS SDK,为了在本地模拟它,我使用 Jest 的手动模拟。基本上,我将 AWS SDK 的准系统模拟放在__mocks__文件夹中,以模拟我使用的方法 - 在 Jest 测试期间,主代码将调用此“AWS-SDK”。

这对于常规代码流来说效果很好。但是,当我调用工作线程时(我正在使用同步线程库,但这对于常规工作线程使用来说是正确的)-工作线程内部的代码在运行 Jest 测试时尝试调用真正的 AWS-SDK。

有没有一种方法可以让它也使用模拟的?此外,工作线程中设置的环境变量不会持续存在于调用者线程中 - 这是设计使然还是可以这样设置?