Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 嘲讽的范围是什么?_Javascript_Reactjs_Unit Testing_Jestjs - Fatal编程技术网

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

总之,我想知道:

  • 是否包含模拟以测试文件或影响多个文件
  • jest作用域与JavaScript作用域相同吗?最内部作用域中的模拟优先于具有相同名称的外部/全局模拟
  • 接下来的问题可能是:哪些jest模拟方法适用于单元,哪些适用于局部和全局范围
  • 例如,在以下文件系统中:

    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
    
    我有以下问题:

  • fileA.spec.js中的
    jest.mock('../internalModule,()=>customImplementation)
    是否会影响fileB.spec.js,反之亦然
  • 类似地,fileA.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')
    会为每个文件重置它吗
  • 我见过非常不一致的行为,也没有明确解释这一点的文档。此外,我发现文档要么到处都是,要么不够具体

    提前谢谢

    另外,我还发现了其他标题类似的问题,比如和,但它们没有回答我的问题