如何处理项目中发现的重复手动模拟

时间:2018-09-20 02:11:52

标签: jestjs

该项目同时具有客户端应用程序和服务器站点代码,并且在本地构建该项目后,它将把所有构建后的资产(包括前端和后端内容)放入build目录中,并且包含所有静态资产客户端需要使用(所有测试用例也都包括在内)。

运行后续测试时,由于多个目录中存在重复的手动模拟,Jest将发出如下警告消息。

jest-haste-map: duplicate manual mock found:
  Module name: fileMock
  Duplicate Mock path: /Users/x/x/x/x/src/resources/webapp/static/__mocks__/fileMock.js
This warning is caused by two manual mock files with the same file name.
Jest will use the mock file found in:
/Users/x/x/x/x/src/resources/webapp/static/__mocks__/fileMock.js
 Please delete one of the following two files:
 /Users/x/x/x/x/build/classes/webapp/static/__mocks__/fileMock.js
/Users/x/x/x/x/src/resources/webapp/static/__mocks__/fileMock.js

2 个答案:

答案 0 :(得分:4)

"jest": {
    "modulePathIgnorePatterns": [
        "<rootDir>/build"
    ]
}

build文件夹添加到modulePathIgnorePatterns文件内的package.json中。

答案 1 :(得分:0)

对我有用的是设置roots属性。使测试发现更快。

https://jestjs.io/docs/en/configuration#roots-array-string