我正在使用Vite创建一个带有react的typescript应用程序。Vite项目的默认设置是将资产放在
src/assets/react.svg
文件夹。试图设置jest进行测试,当我运行jest测试时,我得到一个错误。错误是“无法定位模块./assets/react.svgMap为myname/tests/mocks/fileMock.js”
你可以在下面看到我的jest.config.ts文件,这是目录结构(只列出了相关的文件)
src/_tests_/_mocks_/fileMock.js
src/_tests_/_mocks_/styleMock.js
src/assets
App.css
App.tsx
Index.tsx
vite.environment.d.ts
jest.config.js
tsconfig.json
vite.config.ts
字符串
问:如何配置jest来查找资产?
export default {
preset: 'ts-jest',
//testEnvironment: 'jest-environment-jsdom',
testEnvironment: 'jsdom',
transform: {
"^.+\\.tsx?$": "ts-jest"
// process `*.tsx` files with `ts-jest`
},
moduleNameMapper: {
'\\.(gif|ttf|eot|svg|png)$': '<rootDir>/_tests_/__ mocks __/fileMock.js',
},
}
型
1条答案
按热度按时间blpfk2vs1#
您的
moduleNameMapper
设置不正确,目前它的计算结果为/projectroot/_tests_/__ mocks __/fileMock.js
,这不是预期的路径您的文件位于
src
中,因此路径应为<rootDir>/src/...
rootDir
:是项目根级别的绝对路径