2017-06-09 8 views
3

Wie finden Sie die Codeabdeckung für Winkel 2 Code? Gibt es ein Plugin für vs-Code-Editor oder Webstorm, die ich verwenden kann? Ich benutze Jasmine und Karma für Unit-Tests meines Codes.Codeabdeckung für Winkel 2

+0

Ich kann natürlich die Erweiterungen online sehen. Ich wollte verstehen, welches besser ist, getestet und getestet von den Entwicklern. Wenn ich fragen darf, warum glauben Sie, dass das nicht gefördert wird? – Abhi

Antwort

6

Wenn Sie Testabdeckung Statistiken sehen möchten, als natürlich in Angular CLI Sie nur eingeben können, und sehen Sie die Unterseite des Eingabeaufforderungsfenster

ng test --cc // or --code-coverage 

Ergebnis:

console view of tests coverage

Wenn Sie die individuelle Abdeckung von Tests durch Komponenten sehen möchten, gehen Sie folgendermaßen vor.

  1. npm install --save-dev karma-teamcity-reporter

  2. hinzufügen require('karma-teamcity-reporter') zur Liste von Plugins in karma.conf.js

  3. ng test --code-coverage --reporters=teamcity,coverage-istanbul

beachten Sie, dass die Liste von Reportern ist durch Kommas getrennt, wie wir habe einen neuen Reporter, teamcity, hinzugefügt.

Nach dem Ausführen dieses Befehls können Sie den Ordner coverage in Ihrem Verzeichnis sehen und index.html für eine grafische Ansicht der Testabdeckung öffnen.

enter image description here

Sie können auch die Deckungsschwelle gesetzt, die Sie, in karma.conf.js, wie dies erreichen wollen.

coverageIstanbulReporter: { 
     reports: ['html', 'lcovonly'], 
     fixWebpackSourcePaths: true, 
     thresholds: { 
     statements: 90, 
     lines: 90, 
     branches: 90, 
     functions: 90 
     } 
    }, 
2
ng test --code-coverage 

oder

ng test --code-coverage --reporters=teamcity,coverage-istanbul 
1

Zuerst die Abhängigkeiten installieren.

npm install karma karma-jasmine karma-chrome-launcher karma-jasmine-html-reporter karma-coverage-istanbul-reporter 

Dann Test ausführen.

ng test --code-coverage 

Dann führen Sie den Server, der Ihnen Ihren Bericht zeigt.

http-server -c-1 -o -p 9875 ./coverage 

Sie sollten etwas sehen:

enter image description here

ich einen Blog-Post über dieses here schrieb.

0

Ich kämpfte mit diesem. Die Lösung war ich gefunden

ng test --code-coverage 

Aber sicher, dass in Ihrer karma.conf.js Datei, Sie haben einen Reporter angegeben (ich benutze 'coverage-istanbul')

z.B.reporters: ['coverage-istanbul']

Der Coverage-Bericht befindet sich in einem Verzeichnis namens 'coverage' in Ihrem Stammverzeichnis.