Wie man eine importierte benannte Funktion in Jest verspottet, wenn das Modul entsperrt ist
Ich habe das folgende Modul, das ich in Jest testen möchte:
// myModule.js
export function otherFn() {
console.log('do something');
}
export function testFn() {
otherFn();
// do other things
}
Wie oben gezeigt, exportiert es einige benannte Funktionen und vor allemtestFn
VerwendetotherFn
.
m Scherz, wenn ich meinen Komponententest für @ schreitestFn
, Ich möchte das @ verspottotherFn
Funktion, weil ich keine Fehler in @ wiotherFn
, um meinen Komponententest für @ zu beeinflusstestFn
. Mein Problem ist, dass ich nicht sicher bin, wie ich das am besten machen kann:
// myModule.test.js
jest.unmock('myModule');
import { testFn, otherFn } from 'myModule';
describe('test category', () => {
it('tests something about testFn', () => {
// I want to mock "otherFn" here but can't reassign
// a.k.a. can't do otherFn = jest.fn()
});
});
Jede Hilfe / Einsicht wird gebeten.