我的React项目工作得很好。有些文件需要原始加载器,我不想弹出项目。因此,我有一些原始加载程序导入,如下所示:
import blank_md from '!!raw-loader!./assets/blank.md.txt';但是jest会死于一个错误
Cannot find module '!!raw-loader!./assets/blank.md.txt' from ...这类似于Jest issue 4868
在添加jest-raw-loader之后,我尝试添加到Jest的配置中:
"transform": { "^!!raw-loader!.*": "jest-raw-loader" }但没有骰子。
使用mocking也是可以的。
发布于 2021-07-14 22:38:46
moduleNameMapper: {
"^!!raw-loader!.*": "jest-raw-loader",
} 这将按照jest的要求加载所有的原始加载器导入。
发布于 2020-08-04 16:45:17
我能够使用Jest moduleNameMapper选项让Jest“使用”模拟文件。
好消息是Jest测试现在可以运行了。
坏消息是Jest仍然不知道如何加载文件,所以它将文件名提供给应用程序(而不是文件的内容)。这对我的测试来说还可以,但并不是最优的。
下面是我正在使用的一些工作设置。我在package.json文件中设置它们:
"jest": {
"setupFiles": ["<rootDir>/src/tests/setup-register-context.js"],
"moduleNameMapper": {
"^!!raw-loader!.*sdkExamples.*txt": "<rootDir>/src/tests/__mocks__/templateMock.txt",
"^!!raw-loader!\\./toolbox.xml": "<rootDir>/src/tests/__mocks__/xmlMock.xml",
"^!!raw-loader!.*/assets/startBlocks.xml": "<rootDir>/src/tests/__mocks__/xmlMock.xml",
"!!raw-loader!.*md\\.txt": "<rootDir>/src/tests/__mocks__/mdMock.md"
}
}https://stackoverflow.com/questions/63226101
复制相似问题