【发布时间】:2019-08-05 18:10:34
【问题描述】:
我想在我的测试用例中模拟广播频道,并遵循有关如何模拟模块的笑话文档。但是,当我运行测试时,我收到一个错误“无法从'broadcast.test.js'中找到模块'BroadcastChannel'”
我尝试查看 jest 和 broadcast-channel 的 github 上是否存在类似问题,但没有发现任何问题。
broadcast.test.js 内
import BroadcastChannel from 'broadcast-channel';
jest.mock('BroadcastChannel');
它应该使用模拟广播通道运行测试用例。但是,我只得到错误:
'Cannot find module 'BroadcastChannel' from 'broadcast.test.js''
【问题讨论】:
-
你试过 jest.mock('broadcast-channel') 吗?此外,我认为您正在尝试模拟第三方模块。模拟库有一个特定的文件夹结构。检查documentation
-
@Andrea-codemillers.com - 我试过了,它奏效了,但是我的测试文件的覆盖率下降了。这种变化将如何影响新广播频道的创建?
-
@h-manner 尝试从您的统计信息中排除“mocks”文件夹?