Javascript 嘲讽的范围是什么?
总之,我想知道:Javascript 嘲讽的范围是什么?,javascript,reactjs,unit-testing,jestjs,Javascript,Reactjs,Unit Testing,Jestjs,总之,我想知道: 是否包含模拟以测试文件或影响多个文件 jest作用域与JavaScript作用域相同吗?最内部作用域中的模拟优先于具有相同名称的外部/全局模拟 接下来的问题可能是:哪些jest模拟方法适用于单元,哪些适用于局部和全局范围 例如,在以下文件系统中: rootFolder/ node_modules/ externalModule/ - index.js __mocks__/ - externalModule.js src/ - fi
rootFolder/
node_modules/
externalModule/
- index.js
__mocks__/
- externalModule.js
src/
- fileA.js
- fileB.js
- internalModule.js
__mocks__/
internalModule.js
__tests__/
- fileA.spec.js
- fileB.spec.js
我有以下问题:
jest.mock('../internalModule,()=>customImplementation)
是否会影响fileB.spec.js,反之亦然jest.mock('externalModule',()=>customImplementation)
是否会影响fileB.spec.js,反之亦然?。执行'jest.mock'(模拟外部模块(节点\单元模块)jest.mock('externalModule')
才能初始化jest.mock('externalModule',()=>customImplementation)
会优先于全局mock吗?它会覆盖跨文件的全局mock吗jest.spyOn(internalModule,'someFunc').mockImplementationOnce(..)
在设备的生命周期内模拟实现,或者只调用someFunc()
一次将重置功能jest.doMock
,与jest.mock
相反,它不会提升模型“up”。但是,在哪里?文件?它会在单元结束时自动卸载或重置?还是会影响未来的单元jest.unmock('externalModule')
会为每个文件重置它吗