2015-01-30 12 views
17

ich diesen Yeoman Generator verwenden: https://github.com/Swiip/generator-gulp-angularAngularJS Testing: Protractor, Karma, Jasmin in einem Yeoman App

Es installiert drei Testanwendungen: Jasmin, Karma, Protractor Laut diesem Artikel (Should I be using Protractor or Karma for my end-to-end testing?), soll ich verwenden : Karma für kleine Tests von zB ein einzelner Controller. Protactor, wenn ich die gesamte App testen und einen Benutzer simulieren möchte, der meine App durchsucht. Laut diesem Blog() würde ich Jasmine für Komponententests und Karma für End-to-End-Integrationstests verwenden.

Ich denke, Jasmine ist die Sprache, in der Tests geschrieben werden und die anderen beiden den Code ausführen, ist das korrekt? Auch wenn ich nie einen Test geschrieben habe, der wichtiger ist, zuerst zu lernen/zu konzentrieren?

+0

Siehe meine Antwort hier für eine detailliertere Diskussion der Anwendungsfälle, Vorteile und Einschränkungen von Karma und Winkelmesser: http://StackOverflow.com/Questions/17070522/can-protractor-and-Karma-Be-used-Together/29619467 # 29619467 –

Antwort

42

Karma ist ein Testläufer, also führt es Ihren Test durch. Jasmine ist der Rahmen, die Sie Test

Meiner Meinung nach in AngularJS Sie schreiben lassen:

  • Muss Unit-Test-Dienstleistungen, weil Ihr Unternehmen Code besteht.
  • sollte Einheit-Test-Controller, weil die Benutzeraktionen dort sind.
  • kann Unit-Test benutzerdefinierte Richtlinien (wenn Sie diese Richtlinie mit anderen zu teilen, es ist ein Muss)

Protractor für E2E-Tests (Tests Navigation wie ein echter Benutzer) gemacht wird. Es kombiniert WebDriverJS mit Jasmine und lässt Sie End-to-End-Tests schreiben (Sie simulieren einen echten Browser und nehmen echte Aktionen) mit Jasmine-Syntax.

Diese Art von Test ist auch wirklich wichtig in einer Web-App.

Sie sollten nicht alles testen, vor allem zu Beginn des Projekts, diese Art von Tests in der Regel mit einem hohen Maß an Wartung kommen (d. H., Wenn Sie einen Bildschirm ändern müssen Sie möglicherweise den Test ändern).

Was ich tue ist der kritische Pfad und Funktionen zu testen. Ich machte eine Lese-App, also in meinem Fall war es Login, Anmeldung, Bezahlung, Zugangsbuch und Zugangsleser.

+0

Ok, aber was kann ich mit Winkelmesser als tun? Ist es auch ein Testläufer und schreibe ich dort auch in Jasmin? –

+0

Ich habe meine Antwort bearbeitet –

+0

Ah ok cool, wie testen Zahlung, weil Anbieter Transaktionsgebühren haben. Haben Sie ein günstiges verstecktes Produkt, um Gebühren etc. zu sparen? Ich denke also, ich fange an, Jasmine zu lernen (wie der Artikel, den ich gepostet habe) und die Testanzüge werden wahrscheinlich sowieso von Schluck kontrolliert. Haben Sie eine gute Quelle, um Jasmin zu lernen, sonst google ich einfach danach? –

Verwandte Themen