【发布时间】:2022-10-13 17:51:11
【问题描述】:
尝试模拟 PrismaClient 时出现以下错误。
“TypeError: mock.mockReset is not a function”,当它遇到 beforeEach/mockReset 函数时。
我的代码很简单。
import { PrismaClient } from '@prisma/client'
import { mockDeep, DeepMockProxy, mockReset} from 'jest-mock-extended'
import { prisma } from './client'
jest.mock('./client', () => ({
__esModule: true,
default: mockDeep<PrismaClient>(),
}))
beforeEach(() => {
mockReset(prismaMock)
})
export const prismaMock = prisma as unknown as DeepMockProxy<PrismaClient>
我在客户端文件中的代码也很简单:
import { PrismaClient } from '@prisma/client'
export const prismaClient = new PrismaClient()
export const prisma = prismaClient
【问题讨论】:
-
解决了这个问题,因为我的代码正在对 TS 文件和编译的 JS 文件运行测试。只有编译好的 JS 文件失败了,所以当我停止不必要的测试时,它就起作用了。
标签: unit-testing jestjs prisma