我想在测试用例中模拟广播频道,并遵循有关如何模拟模块的有趣文档。但是,当我运行测试时,出现错误“无法从'broadcast.test.js'找到模块'BroadcastChannel'
我尝试查看开玩笑和广播频道的github上是否存在类似问题,但没有任何反应。
broadcast.test.js内部
import BroadcastChannel from 'broadcast-channel';
jest.mock('BroadcastChannel');
它应该使用模拟广播频道运行测试用例。但是,我只会收到错误:
'Cannot find module 'BroadcastChannel' from 'broadcast.test.js''
答案 0 :(得分:0)
您可以设置一个 setupTests 文件,您可以在其中为BroadcastChannel创建一个手动模拟并为窗口设置它。
if (!window.BroadcastChannel) window.BroadcastChannel = BroadcastChannelMock;
当您使用 react-scripts test 进行测试时,此方法适用。