【问题标题】:Prisma Client Mocking with jest: TypeError: mock.mockReset is not a functionPrisma Client Mocking with jest: TypeError: mock.mockReset is not a function
【发布时间】: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


【解决方案1】:

我在jest 上遇到了同样的问题。我其实是想把它编译成 JS 文件,可惜测试没有通过。您是否找到了在 JS 文件中编译并传入 .js 文件的任何解决方案?

【讨论】:

    猜你喜欢
    • 2020-07-11
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2020-11-24
    • 2018-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多