如何配置jest在Vite项目中查找资产?

bvpmtnay  于 11个月前  发布在  Jest
关注(0)|答案(1)|浏览(169)

我正在使用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',
    },
}

blpfk2vs

blpfk2vs1#

您的moduleNameMapper设置不正确,目前它的计算结果为/projectroot/_tests_/__ mocks __/fileMock.js,这不是预期的路径
您的文件位于src中,因此路径应为<rootDir>/src/...
rootDir:是项目根级别的绝对路径

相关问题