2013-06-10 6 views
6

Die folgenden sind Nachrichten, die ich bekomme, während ich versuche, End-to-End-Test von laufen AngularJS Tutorial http://docs.angularjs.org/tutorial/step_05 auf MS Windows 8 Professional. Könnten Sie bitte beraten, wie ich diesen Test gut laufen lassen kann?node.js/Karma/End-to-End-Test: Proxy /app/index.html fehlgeschlagen (Fehler: connect ECONNREFUSED)

[2013-06-10 17:27:54.100] [WARN] config - "/" is proxied, you should probably change urlRoot to avoid conflicts 
INFO [karma]: Karma server started at http://localhost:9876/ 
INFO [launcher]: <<< Starting browser Chrome 
INFO [launcher]: --- Starting browser Chrome 
INFO [Chrome 27.0 (Windows)]: Connected on socket id E20UigDmDqhk3jaRRYAP 
WARN [proxy]: failed to proxy /app/index.html (Error: connect ECONNREFUSED) 

ECONNREFUSED while running end-to-end test using Karma node.js package on MS Windows 8 Professional

Antwort

12

Der Fehler zeigt Sie sehen, dass Sie die Web-Server nicht gestartet haben. Da Sie ./scripts/e2e-test.sh zum Ausführen Ihrer e2e-Tests verwenden, muss Ihr Webserver die App von localhost: 8000 aus bereitstellen und docroot muss auf den angular-phonecat-Ordner verweisen, nicht auf den App-Ordner. Dies kann einfach durch Ausführen von ./scripts/web-server.js ausgeführt werden (siehe step-00)

Beachten Sie, dass es eine zweite Möglichkeit gibt, Ihre e2e-Tests auszuführen. Sie können nur besuchen

http://localhost:8000/test/e2e/runner.html 
+0

Danke, es funktioniert jetzt gut. BTW, ich benutze e2e-test.bat MS Windows Batch-Datei nicht e2e-test.sh – ShamilS

+0

Etwas anderes ist los. Der Webserver meines Knotens lief, als ich den Fehler bekam, und in meinem Fall wurde der Test trotzdem beendet (kein Fehler).Ich habe den Knoten-Server neu gestartet, nur für den Fall, wiederholte den e2e-Test und erhielt das gleiche Ergebnis - Warnung und ein abgeschlossenes SUCCESS-Testergebnis. Der localhost: 8000/test läuft auch gut. Da der e2e-Test läuft, ist es in Ordnung, aber es wäre schön, die Warnung loszuwerden. Etwas stimmt nicht. –

+0

Die Datei Karma-e2e.conf.js im Ordner config deklariert das Stammverzeichnis als Proxy unter http: // localhost: 8000 /, woher diese Einstellung stammt –

0

Ja, das Problem ist, dass der Webserver nicht ausgeführt wird. Es ist am einfachsten, einen lokalen zu betreiben.

Weitere Informationen zum Einrichten eines Projekts (anhand dieser Vorlage) zum Ausführen von Tests finden Sie unter angular-seed (Vorlagenprojekt) unter https://github.com/angular/angular-seed.

Im Wesentlichen:

  • git clone https://github.com/angular/angular-seed
    • ich geklont als 'Winkel-Samen-template-Projekt' und verwenden, die als Vorlage für meine eigenen Projekte.
    • ich git pull auf dies die letzte Arbeit zu bringen und npm update laufen in seiner neuesten Abhängigkeiten zu ziehen
    • Sie sagen eigentlich Winkel Samen auf git-Hub an Gabel, die Sie mit der git pull zu aktualisieren Projekt leicht erlauben würde, letzte Änderungen (gemäß How do I merge a parent fork?). Allerdings ist mein Verständnis, dass Sie ein GitHub-Projekt nur einmal forkieren können, was die Verwendung von Angular-Seed als Vorlage ausschließt. Offensichtlich muss ich das genauer betrachten.
  • cd <the-project>
  • npm test das Gerät laufen Tests
  • npm start den Web-Server mit dem aktuellen Verzeichnis der App als Basis zu starten. Dies wird nicht standardmäßig als Prozess ausgeführt, also entweder an einem anderen Terminal als an dem Sie die Befehlszeilenbefehle ausführen oder als Prozess starten (node, den Sie später beenden müssen) Selen und mehr
  • npm run protractor ausführen, um das Ende zu Integrationstests beenden

tut es auf diese Weise gemäß den agilen Samen Anweisungen zur Installation wird diesen Fehler vermeiden.