2017-05-05 4 views
0

es Karma bin mit den JS Einheit Testfall und Istanbul zu schreiben, um die Berichterstattung Bericht. Meine karma.conf.js Datei ist als unten -ich mehr als eine Abdeckung Reportart innen verwenden möge karma.conf.js

// karma.conf.js 
module.exports = function(config) { 
    config.set({ 
    files: [ 
     'test/**/*.js' 
    ], 

    // coverage reporter generates the coverage 
    reporters: ['progress', 'coverage'], 

    preprocessors: { 
     // source files, that you wanna generate coverage for 
     // do not include tests or libraries 
     // (these files will be instrumented by Istanbul) 
     'test/**/*.js': ['coverage'] 
    }, 

    // optionally, configure the reporter 
    coverageReporter: { 
     type : 'html', 
     dir : 'coverage/' 
    } 
    }); 
}; 

Hier innen coverageReporter ich verwenden möchte Typ 'html' und 'lcov'. Um dies zu tun ich es wie unten verändert -

coverageReporter: { Typ: 'html', 'lcov', dir: 'Berichterstattung /' }

Dann ausgeführt ich karma start karma.conf.js aber unter Ausnahme bekommen - -

C:\abc\npm-1.4.9>karma start karma.conf.js 
05 05 2017 16:57:00.369:ERROR [config]: Invalid config file! 
    C:\abc\npm-1.4.9\karma.conf.js:45 
     type : 'html','lcov', 
         ^
SyntaxError: Unexpected token , 
    at createScript (vm.js:53:10) 
    at Object.runInThisContext (vm.js:95:10) 
    at Module._compile (module.js:543:28) 
    at Object.Module._extensions..js (module.js:580:10) 
    at Module.load (module.js:488:32) 
    at tryModuleLoad (module.js:447:12) 
    at Function.Module._load (module.js:439:3) 
    at Module.require (module.js:498:17) 
    at require (internal/module.js:20:19) 

Jede Hilfe wird sehr geschätzt.

Antwort

0

Sie haben für die coverageReporter Eigenschaft eine Konfiguration mit dieser Struktur zu verwenden:

coverageReporter: { 
    // specify a common output directory 
    dir: 'coverage/', 
    reporters: [ 
    // reporters not supporting the `file` property 
    { type: 'html', subdir: '.' }, 
    { type: 'lcov', subdir: '.' }, 

    ] 
} 

Das im readme der Karma-Abdeckung beschrieben.

+0

Das funktionierte aber hat eine Nebenwirkung. Ich habe zwei Browser in karma.conf.js (Chrome und PhantomJs) erwähnt, daher wird der Bericht normalerweise für jeden Browser separat generiert, aber oberhalb der Konfiguration ignoriert er die Browserkonfiguration. Irgendwelche Gedanken dazu ??? - –

0

Try Beispiel unten:

coverageReporter: { 
    reporters: [ 
     {type: 'html', dir: 'html-coverage'}, 
     {type: 'lcov'} 
    ] 
} 
+0

Ohh hat es ..so muss ich immer diese in einer Kombination aus Typ und Dir in geschweiften Klammern für jeden Reporter-Typ hinzufügen. Und ich bemerkte noch eine Sache, wenn wir kein Verzeichnis erwähnen, dann erstellt es standardmäßig das 'Coverage'-Verzeichnis und füllt alles darin auf. Danke, @Vlad !!! –

+0

@ArvindMaurya Du bist willkommen :) –

Verwandte Themen