2013-06-03 7 views
32

Wenn ich Karma auf meiner Webapp laufen lasse, bekomme ich nur allgemeine Nachrichten wie Tests bestanden - gibt es eine Möglichkeit, eine Liste von bestandenen Tests zu erhalten? Wie erhalte ich eine ausführlichere Ausgabe?Wie kann ich eine Liste von bestandenen Tests von der Karma Runner Suite erhalten?

Ich kann das nirgendwo in der Dokumentation finden.

+0

Bezug zu http://stackoverflow.com/questions/16684582/generate-jasmine-report-using-karma-runner/16865197?noredirect=1#comment24382342_16865197 –

Antwort

39

Ich weiß, wie dies getan werden kann!

Karmas Terminal-Ausgabe kommt von Objekten namens Reporter. Karma wird mit einigen eingebauten Reportern geliefert (sie können in karma/lib/reporters gefunden werden). Karma ist auch in der Lage, benutzerdefinierte Reporter zu verwenden.

Sie können angeben, welche Reporter in der Datei karma.config.js Ihres Projekts verwendet werden.

Zum Beispiel der 'Punkte' Reporter drucken nur einen Punkt, wenn jeder Test bestanden:

reporters: ['dots'], 

Die 'Fortschritt' Reporter drucken mehr als Punkte:

reporters: ['progress'], 

Die individuellen Reporter karma-spec-reporter Drucke der Name jedes Tests, wenn der Test erfolgreich ist oder fehlschlägt (aber nicht viel mehr):

Vielleicht möchten Sie Ihre eigenen Reporter rollen, da Karma-Junit-Reporter, Karma-Spec-Reporter und die enthaltenen Reporter möglicherweise nicht Ihre Bedürfnisse erfüllen.

Ich vermute, dass das Anpassen von Karma-Spec-Reporter die beste Option in diesem Fall ist, da es bereits eine Zeile druckt, wenn ein Test erfolgreich ist.

Wenn Sie nach etwas suchen, das noch einfacher zu arbeiten ist, ist here ein kundenspezifischer Reporter, den ich baute. Er berichtet über bestandene und fehlgeschlagene Tests ohne Terminalfarben.

+7

Installieren Karma-spec-Reporter über 'npm installieren Karma-spec -Reporter --Save-Dev'. Hoffe das hilft jemandem da es mir unklar war wie man es benutzt. –

+3

danke @AnsonKao muss auch 'karma-spec-reporter' im Plugins-Bereich von' karma.conf' angeben – ak85

24

Ich empfehle den Karma Spec Reporter. So erhalten Sie einen schönen Unit-Test-Bericht.

Karma unit test spec

Wie man es verwendet:

  1. Installieren Sie das Karma Spec Reporter

Auf der Kommandozeile in Ihrem Projekt,

npm install karma-spec-reporter --save-dev

  1. Karma Spec Reporter zur Konfiguration hinzufügen

In karma.conf.js,

... 
    config.set({ 
    ... 
    reporters: ["spec"], 
    specReporter: { 
     maxLogLines: 5,   // limit number of lines logged per test 
     suppressErrorSummary: true, // do not print error summary 
     suppressFailed: false, // do not print information about failed tests 
     suppressPassed: false, // do not print information about passed tests 
     suppressSkipped: true, // do not print information about skipped tests 
     showSpecTiming: false // print the time elapsed for each spec 
    }, 
    plugins: ["karma-spec-reporter"], 
    ... 

Das ist alles. Genießen.

Verwandte Themen