reactjs - 两个具有相同名称的模块 - 模拟问题

标签 reactjs jestjs

Jest 配置 setup.js ,我模拟了两个模块:

jest.mock('somePath1/Translator');
jest.mock('somePath2/Translator');

运行测试时,我得到这个:
jest-haste-map: duplicate manual mock found:
  Module name: Translator
  Duplicate Mock path: C:\XXX\dev\YYY\src\components\ZZZ\services\__mocks__\Translator.js
This warning is caused by two manual mock files with the same file name.
Jest will use the mock file found in:
C:\XXX\dev\YYY\src\components\ZZZ\services\__mocks__\Translator.js
 Please delete one of the following two files:
 C:\XXX\dev\YYY\src\common\services\__mocks__\Translator.js
C:\XXX\dev\YYY\src\components\ZZZ\services\__mocks__\Translator.js

但是,两者都是必需的,一些测试使用来自一次位置的服务,其他来自第二个位置。

我该如何解决?

最佳答案

我遇到了同样的问题,因为我有多个具有相同名称的模块,但在 /src/ 下的不同路径上.

jest-haste-map: duplicate manual mock found: fetch.service
  The following files share their name; please delete one of them:
    * <rootDir>/src/modules/order/__mocks__/fetch.service.ts
    * <rootDir>/src/modules/restaurant/__mocks__/fetch.service.ts
经过一番研究,我更新了jest.config.ts所以它包括:modulePathIgnorePatterns: ["<rootDir>/.*/__mocks__"]此更改使警告消失:9

关于reactjs - 两个具有相同名称的模块 - 模拟问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50989033/

相关文章:

javascript - React Redux - 在发送问题之前快速闪现之前的状态

css - Tailwind 将元素对齐到父级的底部

reactjs - TS1128 : Declaration or statement expected (end of file)

javascript - 如何在 react-router-dom v6 中监听路由变化

reactjs - 如何使用 Jest 来测试带有 localStorage 的 React 组件?

javascript - Jest 测试在容器中使用 withTracker 的 Meteor React 组件 (meteor/react-meteor-data)

javascript - 当我通过 document.getElementById 更新值时,React 不会触发 onChange 事件

javascript - Jest 是单独导入每个测试文件,还是在执行前一次挂载所有引用?

node.js - 使用 Nodejs 和 Supertest 进行子域集成测试

javascript - 获取连接 ECONNREFUSED 127.0.0.1 :80 error when running supertest