2016-04-29 3 views
0

Ich bin ein Neuling auf Node.js. Ich muss einige Tests in meiner Anwendung einrichten, und ich bin wirklich sauer, wenn ich versuche, einen Back-End Code Coverage Report mit mocha und istanbul in meiner loopback Anwendung zu erstellen.Coverage-Bericht mit Istanbul und Mokka

durch tausend dab Searching erklärt Artikel auf Github ich einige gute articles gefunden und dann habe ich herausgefunden, dass ich so etwas wie dieses verwenden hatte:

istanbul cover _mocha -- [path/to/test/files] -R spec 

Ich war glücklich, weil sie sagt: „Was du bist Im Wesentlichen besteht die Aufgabe darin, den Befehl zur Durchführung Ihrer Tests nach Istanbul zu übergeben, der wiederum diese Tests in Ihrem Auftrag durchführt. " jedes Mal wenn ich versuche jedoch nach Istanbul zu laufen, bekomme ich diesen Fehler:

No coverage information was collected, exit without writing coverage information 
C:\...\proj-name\node_modules\.bin\_mocha:2 
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')") 
      ^^^^^^^ 

SyntaxError: missing) after argument list 

Meine Arbeitstestdatei ist:

var userService = require('../TestBusinessLogic.js'); 
var should = require('chai').should(); 

describe('API Utenti', function() { 
    it('should throw Exception on missing UserName', function() { 
    (function() { 
     userService({ Name: 'Pippo', Surname: 'Baudo' }); 
    }).should.Throw(Error); 
    }); 
}); 

Ist das Kommando gut zu bedienen? Wenn nicht, könnte mir bitte jemand erklären, wie man einen Abdeckungsbericht unter Verwendung von istanbul mit mocha erstellt?

Antwort

3

Figured, dass ich node_modules\.bin\_mocha statt node_modules\mocha\bin\_mocha lief und das ist mein Problem gelöst.

2

Wenn Sie istanbul über die Befehlszeile ausführen, müssen Sie es aus dem Stammverzeichnis Ihres Projektverzeichnisses ausführen, es sucht standardmäßig nach den Dateien, die die Berichterstellung für Berichterstattung im Stammverzeichnis Ihres Verzeichnisses ausführen.

Stellen Sie außerdem sicher, dass der Pfad zu Ihrem Testordner relativ zu Ihrem Projektverzeichnis ist.

So sollten Sie zu Ihrem Projektverzeichnis navigieren cd verwenden und dann, wenn sie innerhalb dann Ihr Projektverzeichnis

laufen

istanbul cover _mocha -- ./path-to/test.js -R spec