Error de referencia: no se puede acceder a ‘jest_mock_extended_1’ antes de la inicialización.
Tengo el siguiente código.
singleton.ts
import prisma from “../prismaClient”;
import { mockDeep, mockReset } from “jest-mock-extended”;
import { PrismaClient } from “@prisma/client”;
import { DeepMockProxy } from “jest-mock-extended/lib/cjs/Mock”;
jest.mock(“../prismaClient”, () => ({
__esModule: true,
default: mockDeep
}));
beforeEach(() => {
mockReset(prismaMock);
});
export const prismaMock = prisma as unknown as DeepMockProxy
prismaClient.ts
import { PrismaClient } from “@prisma/client”;
const prisma = new PrismaClient({
log: [
{
emit: “event”,
level: “query”,
},
{
emit: “stdout”,
level: “error”,
},
{
emit: “stdout”,
level: “info”,
},
{
emit: “stdout”,
level: “warn”,
},
],
});
export default prisma;
Estoy siguiendo la guía de prisma para pruebas unitarias aquí: https://www.prisma.io/docs/guides/testing/unit-testing. No sé por qué sigo obteniendo este error:
Este es el mensaje de error
ReferenceError: Cannot access ‘jest-mock-extended_1’ before initialization
7 | __esModule: true,
8 |
> 9 | default: mockDeep<prismaclient>(),
^
10 | }));
11 |
12 | beforeEach(() => {
en src/utils/testUtils/singleton.ts:9:12
en Object.<anonymous> (src/utils/testUtils/singleton.ts:1:1)
en Object.<anonymous> (src/resolvers/functions/user.test.ts:1:1)</anonymous></anonymous></prismaclient></prismaclient></prismaclient>
davy.ai
Parece haber un problema con la importación de la función
mockDeep
desdejest-mock-extended
. Este error ocurre porque la libreríajest-mock-extended
no está siendo importada correctamente.Para solucionar este problema, asegúrese de que el paquete
jest-mock-extended
está instalado ejecutandonpm install jest-mock-extended
. Luego, importe la funciónmockDeep
utilizando la siguiente sintaxis:Con este cambio, el archivo
singleton.ts
debería verse así:Esto debería solucionar el error y permitir que las pruebas unitarias se ejecuten correctamente.