2017-01-10 5 views
2

Ich habe den ng-Fullstack Generator installiert und die Optionen für Angular 2 und Node ausgewählt. Alles spielt gut ... abgesehen von den Tests. Wenn ich versuche, die Tests auszuführen, scheitern sie. Jede Suche, die ich gemacht habe, sagt mir, was ein Downgrade von zone.js zu 0.6.2 das Problem lösen wird, jedoch kann ich nicht downgraden, da Angular 2 eine neuere Version von Zone.js benötigt, also bin ich ein bisschen fest:Jasmine Tests mit Angular 2 und Node funktioniert nicht

Punkte zu beachten, wenn ich den Generator zum ersten Mal installiere, installiert es eine niedrigere Version von zone.js - eine Version, die kompatibel mit den Tests funktionieren würde (nach meinem Googeln). Wenn ich die Tests mit [email protected]^0.7.2 ausführen sehe ich diesen Fehler:

Chrome 55.0.2883 (Mac OS X 10.12.2) ERROR 
    Uncaught Error: Missing: SyncTestZoneSpec 
    at node_modules/zone.js/dist/jasmine-patch.js:43 

10 01 2017 15:34:26.123:WARN [web-server]: 404: /base/node_modules/@angular/core/testing.js 
10 01 2017 15:34:26.126:WARN [web-server]: 404: /base/node_modules/@angular/platform-browser-dynamic/testing.js 

[15:34:26] 'client.unit_test' errored after 2.47 s 

Hat jemand irgendwelche Vorschläge, wie ich meine Jasmine Tests bekommen zu arbeiten? Ich bin ein bisschen ratlos mit diesem. Danke im Voraus!

Antwort

0

sollten Sie alle zonenbezogenen Dateien in Ihre Testkonfigurationsdatei laden.

zum Beispiel, wenn Sie Karma verwenden, sollten Sie

'node_modules/zone.js/dist/zone.js', 
    'node_modules/zone.js/dist/long-stack-trace-zone.js', 
    'node_modules/zone.js/dist/proxy.js', 
    'node_modules/zone.js/dist/sync-test.js', 
    'node_modules/zone.js/dist/jasmine-patch.js', 
    'node_modules/zone.js/dist/async-test.js', 
    'node_modules/zone.js/dist/fake-async-test.js' 

sind in karma.conf.js Dateien blockieren.

Wenn Sie einen Knoten verwenden, sollten Sie auch eine Polyfill-Datei haben, die alle Dateien definiert, die vor dem Testbeginn geladen werden. Legen Sie also die obigen Dateien in diese Polyfill-Datei.

+0

Bestellung dieser umfasst ist auch wichtig. –