Ich verwende es6 Module und Karma/Mocha/Sinon/Chai für Unit-Tests. Wenn ich einen es6 Modul innerhalb eines anderen es6 Modul namens ich in der Lage bin Stummel/Spion an diesem zweiten es6 Modul, wie unten zu sehen:Sinon Stub/Spy auf lokale Funktionen in Unit-Tests
Modul-a.js
export function a() {
// do something
}
Modul-b Js
import * as moduleA from './module-a';
export function b() {
// do something
moduleA.a();
}
Mit dem obigen Code, den ich auf moduleA.a ausspionieren() und bestimmen, wann es genannt wurde und Stub moduleA.a() und spezifische Rückgabewerte erzwingen.
ABER, wenn ich diese Situation statt, kann ich auszuspionieren oder Stummel nicht:
Modul-a.js
export function a() {
// do something
}
export function b() {
// do something
a();
}
Wenn ich versuche, spionieren/Stub-Funktion a() in diesem Beispiel: Der Spion/Stub in Sinon wird nie aufgerufen./Dies ist eine ziemlich häufige Situation, also hat jemand einen Weg gefunden, die lokalen Funktionen auszuspionieren?
Danke!