Ich frage mich, wie kann ich Spion / Stub-Funktion auf Jasmine, wenn ich ES6 Importe / Exporte mit Babel verwendet?
%Vor%Das erste Problem ist, dass ich schreibgeschütztes Modul nicht umschreiben kann
Fehler beim Erstellen des Moduls: SyntaxError: /Users/oleg/projects/rp/popup/lib/spec/popup.spec.js: "MobileDetect" is read-only
Ich habe diesen Ansatz versucht, aber es funktioniert auch nicht ... MobileDetect.prototype.constructor ausspioniert, aber MobileDetect direkt nicht.
Was halten Sie von diesem Problem?
Ähnlich wie proxyquire , um require()
-Anweisungen in Ihren Tests zu verspotten, können Sie babel-plugin-rewire , um ES6-Importe zu übernehmen.
Ihr Test-Setup sieht möglicherweise so aus:
%Vor%Mit dem Sie wieder normal arbeiten können:
%Vor%Tags und Links javascript jasmine ecmascript-6 spy es6-module-loader