首页 新闻 会员 周边 捐助

更新 jest.config.ts 后遇到 import 路径解析问题

0
悬赏园豆:30 [已解决问题] 浏览: 21次 解决于 2024-12-24 12:52

angular 项目升级 jest 与 jest-preset-angular 之后,更新了 jest.config.ts

import ngPreset from 'jest-preset-angular/presets';
import { type JestConfigWithTsJest, pathsToModuleNameMapper } from 'ts-jest';
import tsconfig from './tsconfig.json';

const esmPreset = ngPreset.createEsmPreset();

export default {
    ...esmPreset,
    testMatch: ['<rootDir>/src/**/*.spec.ts'],
    moduleNameMapper: {
        ...esmPreset.moduleNameMapper,
        ...pathsToModuleNameMapper(tsconfig.compilerOptions.paths, { prefix: '<rootDir>' }),
        rxjs: '<rootDir>/node_modules/rxjs/dist/bundles/rxjs.umd.js',
    },
    setupFilesAfterEnv: ['<rootDir>/setup-jest.ts'],
    transform: {
        '^.+\\.(ts|js|html|svg)$': [
            'jest-preset-angular',
            {
                tsconfig: '<rootDir>/tsconfig.spec.json',
                stringifyContentPathRegex: '\\.(html|svg)$',
                useESM: true,
            },
        ],
    },
} satisfies JestConfigWithTsJest;

运行测试时报错

FAIL src/app/models/post-template.spec.ts
  ● Test suite failed to run

    Cannot find module 'src/app/models/post-template' from 'src/app/models/post-template.spec.ts'

      at Resolver._throwModNotFoundError (node_modules/jest-resolve/build/resolver.js:427:11)

对应的测试代码 post-template.spec.ts 中报错的地方

import { PostTemplate } from 'src/app/models/post-template';
dudu的主页 dudu | 高人七级 | 园豆:27830
提问于:2024-12-24 12:23
< > 人人可用的开源BI工具
分享
最佳答案
0

在 jest.config.ts 中添加下面的配置解决了

modulePaths: ['<rootDir>']
dudu | 高人七级 |园豆:27830 | 2024-12-24 12:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册
Top