Jest Mock dans TypeScript

Rana Hasnain Khan 18 aout 2022
Jest Mock dans TypeScript

Nous présenterons Jest Mock et comment l’utiliser dans TypeScript avec un exemple.

Jest Mock dans TypeScript

Lorsque nous travaillons sur des applications commerciales qui doivent être parfaites pour les utilisateurs, nous devons nous assurer que chaque module fonctionne comme nous le souhaitons. À cette fin, nous utilisons des simulations Jest dans TypeScript.

Jest mock est un framework de test pour une grande application web. En utilisant la fonction mock, nous pouvons espionner les modules d’une fonction appelée indirectement par un code différent au lieu de ne tester que la sortie.

La fonction mock renverra undefined lorsqu’elle est invoquée si aucune implémentation n’est donnée. Nous pouvons facilement utiliser la fonction jest.mock() comme indiqué ci-dessous.

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

La fonction jest.mock() changera le type de la dépendance, à cause de quoi nous devons utiliser la conversion de type après avoir appelé la fonction jest.mock() dans TypeScript. Nous pouvons facilement appeler le casting de type en utilisant la méthode typeof dans TypeScript.

Passons en revue un exemple dans lequel nous utiliserons une simulation automatique pour tester le module que nous importons dans TypeScript, comme indiqué ci-dessous.

import { testClass } from './testClass';

jest.mock('./testClass');

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

Mais si nous voulons simuler le module ou la classe manuellement, nous pouvons aussi le faire facilement. Passons en revue un exemple dans lequel nous allons simuler la classe manuellement, comme indiqué ci-dessous.

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

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

}));

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

Comme nous pouvons le voir dans l’exemple ci-dessus, le testMockClassDependency créera une instance d’objet simulé. Nous pouvons utiliser une classe, un type ou une interface au lieu 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