2016-07-20 21 views
4

Ich versuche, automatisierte Tests mit Ember Testing zu integrieren.EmberJS globaler Fehler beim Ausführen von Tests

Die Anwendung läuft problemlos im Browser, ohne Fehler. Ich versuchte, läuft einfach

ember test 

auf der Kommandozeile, sondern eine Reihe von globalen Fehler erhalten und alle Tests fehlschlagen.

Dies sind die Fehler, die ich bin immer:

not ok 1 PhantomJS 2.1 - Global error: SyntaxError: Unexpected token ',' at http://localhost:4302/assets/vendor.js, line 145617 

not ok 2 PhantomJS 2.1 - Global error: Error: Could not find module ember-metal/core required by: ember-testing/index at http://localhost:4302/assets/test-support.js, line 62 

not ok 3 PhantomJS 2.1 - Global error: ReferenceError: Can't find variable: define at http://localhost:4302/assets/tests.js, line 1 

... 

Wenn ich die Tests im Browser laufen, ich habe nicht die Syntaxfehler (erste oben) erhalten, der erste Fehler ist

Uncaught Error: Could not find module `analogue/resolver` imported from `analogue/tests/helpers/resolver` 

Diese ergeben keinen Sinn für mich, da ich nicht Vendor.js bearbeiten sollte und die Module, die es nicht finden kann, sind da. Irgendwelche Ideen?

+0

Welche Version von Glut verwenden Sie? – dustinfarris

+0

Haben Sie alle [Voraussetzungen] (https://ember-cli.com/user-guide/#prerequisites) installiert? Hauptsächlich phantomjs –

+0

Haben Sie versucht, die Tests im Browser mit '-s' Flagge zu laufen und Browser-Konsole zu sehen? Manchmal gibt es Fehler, die leicht zu verstehen, dass es – GUL

Antwort

3

Falls jemand (wie ich) hier mit einem ähnlichen Problem endet.

In meinem Fall die Liste der Fehler immer mit einer zufälligen Syntax gestartet (manchmal über ‚(‘ oder ‚!‘). Die eigentliche referenzierten Linie in der Regel nicht einmal diese Symbole enthielt.

Die Lösung war für mich zu degradieren PhantomJS von 2,1 auf 1,9 Version

npm install -g [email protected] 

(verwenden nvm oder nave, um Ihr Leben leichter in diesen Fällen zu machen)

0

in meinem Fall musste ich nur eine frische PhantomJS Installation

npm uninstall phantomjs -g 
npm install phantomjs -g