5

Wir erstellen eine WebApp mit AngularJS Seed als Projektvorlage. Das sind viele Controller, Direktiven, Dienste, jeder in seiner eigenen js-Datei.Wie verwaltet man E2E-Tests einer AngularJS WebApp vor der Minifizierung?

  • Der Inhalt des App-Ordners wird mit Closure minimiert.
  • Alle lib-Abhängigkeiten werden mit den verkleinerten Versionen über CDN ersetzt.
  • Unit/e2e Tests mit Testacular/Jasmine.

Ich bin nicht sicher, was die typische dev-Kompilierung-Testverfahren ist, wie ich in die Welt der AngularJS bin hier und Javascript WebApps im Allgemeinen :-) Meine Frage ist, wie die App js Dateien während der Entwicklung zu verwalten solche dass E2E-Tests debuggbar sind. Das ist mein gegenwärtiges Denken;

  1. Testacular Uhren die Quelldateien für die kontinuierliche Unit-Tests.
  2. Die index.html-Seite verweist immer auf die verkettete, aber nicht gefertigte js-Datei.
  3. Die Kompilierung muss stattfinden, bevor die App ausgeführt/e2e-getestet werden kann.
  4. Build-Server wird als Teil seiner Aktivitäten zu minimieren.

Ist das ein vernünftiger Ansatz? Es hilft bei der Klärung Ich benutze WebStorm, nodejs usw.

+0

das ist so ziemlich unser Ansatz, nur Builds werden auf Commit Hooks gemacht. – SonOfNun

+0

Ich sehe nichts falsch damit. Benutzt du Grunzen? Könnte helfen, das ein bisschen zu verwalten. –

+0

Danke Roy, ein richtiges Bauwerkzeug war die fehlende Zutat.Es war ein Paradigmenwechsel in meinem Denken über Javascript. In der Vergangenheit hat mich der "Skript" -Teil von Javascript dazu geführt, dass ich die Sprache als ernstzunehmender Kandidat in großen Systemimplementierungen unterbewertete. Nicht länger. :-) – Robert

Antwort

0

Vielen Dank an alle, die Vorschläge gemacht haben, sie alle haben mir geholfen, eine Lösung zu finden. Das Flussdiagramm (mehr oder weniger) beschreibt einen gültigen Build-Prozess. Der Schlüssel hier ist, dass Sie ein Build-Tool benötigen. Die Verwendung eines Build-Tools - in diesem Fall GruntJS - sollte implementiert werden, um die Sequenzierung einer Anzahl von Aufgaben zu verwalten. Die Reihenfolge variiert je nach Ziel und Build-Tools ermöglichen es Ihnen, die Aufgaben in einer Reihe von verschiedenen Szenarien wiederzuverwenden.

Im Fall von AngularJS-Anwendungen. Siehe angular-app auf GitHub;

https://github.com/angular-app/angular-app

Sie eine Referenz-App für die Implementierung eines Angular App finden. Es enthält einen Build-Prozess, der in Grunt für Continuous Test, Build und Release implementiert wurde. Allgemeiner gesagt, diese Referenz-App war ein ausgezeichneter Leitfaden für die Implementierung eines sehr überschaubaren, verständlichen Javascript-Projekts.

0

Erstellen Sie separate Konfigurationen für die Prüfung der verkleinerten und nicht-minifizierten Quellen.

Local:

$ testacular start 
# make some changes 
$ minify.sh 
$ testacular start testacular-minified.conf.js # you could skip this if you trust your minification 

Build-Server bei einer Änderung:

$ testacular start --no-auto-watch # you could skip this if you trust your minification 
$ minify.sh 
$ testacular start testacular-minified.conf.js 

Wenn Sie beide Jasmine Tests und e2e Tests, die Sie benötigen vier Konfigurationsdateien haben.

Verwandte Themen