2016-03-21 3 views
0

ich durch die Dokumentation auf Karma und istanbul einzurichten Codeabdeckung lese. Ich bin mir nicht sicher, was ich vermisse. Ich habe alles miteinbezogen, was ich gebraucht habe, um diesen Schritt herauszufinden, also entschuldige ich mich, wenn es langwierig ist.Einrichtung istanbul auf Fenster mit Jasmin 2/Befund spec support jasmine.json

habe ich versucht, das das Startskript Innenseite meiner npm Paket zu laufen, aber bekam die Fehlermeldung

Error: Cannot find module 'c:\HA\VSTS\Applications\HA.Web.Main\spec\support\jasmine.json' 

- https://karma-runner.github.io/0.8/config/coverage.html

-https://www.npmjs.com/package/istanbul#getting-started

Dies scheint, wie es eine ziemlich einfach sein sollte verarbeiten.

Innerhalb meiner karma.conf Datei habe ich Karma-Abdeckung

plugins: { 
    karma-coverage 
] 

ich eine Abdeckung Reporter Objekt einrichten

coverageReporter: { 
    // disable code compaction when using instrumenter * do not want ot minify output 
    instrumenterOptions: { 
     istanbul: { noCompact: true } 
    }, 
    type: 'html', 
    dir: 'coverage/' 
}, 

Innerhalb des Vorprozessors ich die Dateien aufgelistet, die ich sein wollte abgedeckt

preprocessor: [  

"../Scripts/src/modules/**/*.js": ['coverage'] 

] 

Die Dokumentation notiert den Jasmin auf Fenstern und identifiziert th Es ist erforderlich, dass ein Skriptobjekt plattformübergreifend verwendet wird.

"scripts": { 
    "test": "istanbul cover node_modules/jasmine/bin/jasmine.js" 
}, 

Ich habe Jasmin in meinen Knotenmodulen, so dass sollte kein Problem sein.

Ich lief, um weiter zu identifizieren, was das Problem sein könnte.

istanbul help config 

Aber um ehrlich zu sein, ich weiß jetzt nicht, was innerhalb von einigen dieser Objekte

verbose: false 
instrumentation: 
    root: . 
    extensions: 
     - .js 
    default-excludes: true 
    excludes: [] 
    embed-source: false 
    variable: __coverage__ 
    compact: true 
    preserve-comments: false 
    complete-copy: false 
    save-baseline: false 
    baseline-file: ./coverage/coverage-baseline.json 
    include-all-sources: false 
    include-pid: false 
    es-modules: false 
reporting: 
    print: summary 
    reports: 
     - lcov 
    dir: ./coverage 
    watermarks: 
     statements: [50, 80] 
     lines: [50, 80] 
     functions: [50, 80] 
     branches: [50, 80] 
    report-config: 
     clover: {file: clover.xml} 
     cobertura: {file: cobertura-coverage.xml} 
     json: {file: coverage-final.json} 
     json-summary: {file: coverage-summary.json} 
     lcovonly: {file: lcov.info} 
     teamcity: {file: null, blockName: Code Coverage Summary} 
     text: {file: null, maxCols: 0} 
     text-lcov: {file: lcov.info} 
     text-summary: {file: null} 
hooks: 
    hook-run-in-context: false 
    post-require-hook: null 
    handle-sigint: false 
check: 
    global: 
     statements: 0 
     lines: 0 
     branches: 0 
     functions: 0 
     excludes: [] 
    each: 
     statements: 0 
     lines: 0 
     branches: 0 
     functions: 0 
     excludes: [] 
+0

ich den gleichen Fehler haben, wenn istanbul von der Kommandozeile ausgeführt werden: 'node_modules/istanbul/lib/cli.js decken node_modules/Jasmin/bin/jasmine.js' – jcubic

Antwort

1

Sie müssen schauen jasmine init nennen diese Datei zu erzeugen. Wenn Sie Jasmin lokal installierten müssen Sie rufen:

node_modules/jasmine/bin/jasmine.js init