„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verspotte ich das ES6 -Modulimporte im Scherz?

Wie verspotte ich das ES6 -Modulimporte im Scherz?

Gepostet am 2025-03-24
Durchsuche:440

How to Mock ES6 Module Imports in Jest?

verspotteten es6 modul importe in jest

Einführung

scherzen liefert eine umfassende Reihe von Tools für Testen in Einheiten, einschließlich der in Ihrem Code importierten Mocking -Moduls. In diesem Artikel wird erläutert, wie das ES6 -Modul -Importe im Scherz verspottet wird und die Herausforderung des Testmodul -Abhängigkeiten behandelt. Der in Jasmine verwendete Ansatz, bei dem Importe durch Spione ersetzt werden, ist jedoch aufgrund seiner unterschiedlichen Testumgebung nicht direkt anwendbar. This technique can be leveraged to mock ES6 module imports.

Mocking Named Exports

For named exports, simply import the module using import * and then mutate the exported object to mock the desired function:

// dependency.js exportieren const dosomething = (y) => console.log (y); // mymodule.js importieren {dosomething} aus './dependency'; Exportieren Sie Standard (x) => { Dosen (x * 2); };

// myModule-test.js MyModule aus '../mymodule' importieren; Import * als Abhängigkeit von '../dependency'; beschreiben ('MyModule', () => { It ('ruft die Abhängigkeit mit dem doppelten Eingang an', () => { abhängig.dosomething = jest.fn (); // den benannten Export mutieren MyModule (2); erwarten (Abhängigkeit.Dosomething) .Tobecalled with (4); }); });

verspotteten Default -Exports

für Standard Exports, Sie können sie mit dem importierten Modulenamen aus 'modulepath' importieren und dann den Standardwert des importierten Objekts:

// dependency.js
export const doSomething = (y) => console.log(y);
// myModule.js
import { doSomething } from './dependency';

export default (x) => {
  doSomething(x * 2);
};
// myModule-test.js
import myModule from '../myModule';
import * as dependency from '../dependency';

describe('myModule', () => {
  it('calls the dependency with double the input', () => {
    dependency.doSomething = jest.fn(); // Mutate the named export

    myModule(2);

    expect(dependency.doSomething).toBeCalledWith(4);
  });
});
schlussfolgerung

mit dem Import * syntax und mutieren das exportierte Objekt, es ist möglich, ES6 -Modulimporte in Scherz zu verspotten, um die Funktionalität Ihrer Modul zu testen, während sie ihre Abhängigkeiten isolieren.

.
Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729676733 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3