You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Jest测试NestJS+Prisma项目时无法找到PrismaService

解决Jest测试时找不到PrismaService模块的问题

问题原因

Jest默认无法识别项目中src/开头的绝对路径导入规则,需要配置路径映射让Jest正确解析模块位置。

解决方案

1. 配置tsconfig.json的路径映射

打开项目根目录的tsconfig.json,在compilerOptions中添加baseUrl和paths配置,将src设为根路径:

{
  "compilerOptions": {
    // 保留原有其他配置
    "baseUrl": "./",
    "paths": {
      "src/*": ["src/*"]
    }
  }
}

2. 同步Jest配置解析路径

修改项目根目录的jest.config.js(或jest.config.ts),添加moduleNameMapper和modulePaths配置,匹配tsconfig的路径规则:

module.exports = {
  // 保留原有其他配置
  moduleNameMapper: {
    'src/(.*)': '<rootDir>/src/$1',
  },
  modulePaths: ['<rootDir>'],
};

如果使用了e2e测试配置文件(如jest-e2e.json),也需要同步添加上述配置。

3. 检查路径大小写与拼写

确认实际文件路径的拼写和大小写与导入语句完全一致:

  • Linux/macOS系统区分路径大小写,比如prismaService和PrismaService会被视为不同路径
  • 检查src/prismaService/prisma.service.ts文件是否真实存在,无拼写错误

4. 临时验证:改用相对路径(不推荐长期使用)

将urls/service/urls.service.ts中的导入语句改为相对路径,快速验证是否为路径配置问题:

// 替换原有绝对路径导入
import { PrismaService } from '../../prismaService/prisma.service';

内容的提问来源于stack exchange,提问作者omarsabra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 16:38:21