Jest Mock en TypeScript

Rana Hasnain Khan 18 agosto 2022
Jest Mock en TypeScript

Presentaremos Jest Mock y cómo usarlo en TypeScript con un ejemplo.

Jest Mock en TypeScript

Cuando trabajamos en aplicaciones comerciales que necesitan ser perfectas para los usuarios, debemos asegurarnos de que cada módulo funcione como queremos que funcione. Para este propósito, usamos simulacros de Jest en TypeScript.

Jest mock es un marco de prueba para una gran aplicación web. Al usar la función mock, podemos espiar los módulos de una función llamada indirectamente por algún código diferente en lugar de solo probar la salida.

La función mock devolverá undefined cuando se invoque si no se proporciona ninguna implementación. Podemos usar fácilmente la función jest.mock() como se muestra a continuación.

import * as dependency from '../someModule';
jest.mock('../someModule');

La función jest.mock() cambiará el tipo de dependencia, por lo que necesitamos usar la conversión de tipos después de llamar a la función jest.mock() en TypeScript. Podemos llamar fácilmente a la conversión de tipos usando el método typeof en TypeScript.

Veamos un ejemplo en el que usaremos un simulacro automático para probar el módulo que importamos a TypeScript, como se muestra a continuación.

import { testClass } from './testClass';

jest.mock('./testClass');

const mockClass = <jest.Mock<testClass>>testClass;

Pero si queremos simular el módulo o la clase manualmente, también podemos hacerlo fácilmente. Veamos un ejemplo en el que simularemos la clase manualmente, como se muestra a continuación.

import testClass from './testClass';
import testClassDependency from './testClassDependency';

const testMockClassDependency = jest.fn<testClassDependency>(() => ({

}));

it('Throw an error', () => {
  const testClass1 = new testClass(testMockClassDependency());
});

Como podemos ver en el ejemplo anterior, testMockClassDependency creará una instancia de objeto simulado. Podemos usar clase, tipo o una interfaz en lugar de testClassDependency.

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn