Karma:Wie verspotte ich eine globale Variable, die in HTML deklariert ist?
-
20-12-2019 - |
Frage
Ich habe eine Variable in HTML als deklariert
<script>
var actionUrl = '@Url.Action(action, "Designer")';
</script>
damit die Variable actionUrl in der Javascript-Datei aufgerufen werden kann, die ich testen möchte.Da der Komponententest jedoch jede zu testende Datei isoliert, wird die actionUrl in Karma undefiniert.Wie verspotte ich diese Variable?Was ist die beste Vorgehensweise?
Lösung
- Wie vorgeschlagen, telefonisch
window.actionUrl = 'whatever';
- Oder vielleicht wäre es sinnvoll, eine Struktur für Scheinobjekte zu erfinden
unit-tests
|
mocks -
| - module1.js
...
| - moduleN.js
| - globals.js
und fügen Sie dann alle globalen Objekte ein globals.js
und lade es hinein karma.config.js
Bearbeiten:Dem Fork von Angular Seed wurden globale Mocks hinzugefügt https://github.com/sbedulin/angular-js-dev-guide
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow