2016-04-13 8 views
2

Ich habe ein React-Projekt mit Tests in Mocha geschrieben. Istanbul wird verwendet, um die Testabdeckung zu erhalten.Istanbul Code Coverage

Ich habe 4 reagieren Komponenten in einem Ordner namens lib und in der test Ordner habe ich nur Tests für 2 der Komponenten geschrieben. Wenn Istanbul die Berichterstattung berichtet, sagt es 100%, aber es ist eindeutig nicht 100% für das Projekt, weil es Komponenten ohne Tests gibt. Wie bekomme ich den korrekten Deckungsbericht für die Komponenten in lib Ordner?

Mein sieht .istanbul.yml wie diese

instrumentation: 
    root: ./lib 
    extensions: ['.js', '.jsx'] 
reporting: 
    print: summary 
    reports: 
     - lcov 
    dir: ./coverag 

Und das Skript in package.json sieht wie folgt aus

"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js" 

und die Ordnerstruktur sieht wie folgt aus

/ 
    /lib 
    - Component1.jsx 
    - Component2.jsx 
    - Component3.jsx 
    - Component4.jsx 
    /test 
    - Component1.spec.js 
    - Component2.spec.js 
    - Component3.spec.js 
    - Component4.spec.js 
.istanbul.yml 
package.json 

Was mache ich falsch Hier ? Jede Anleitung wäre hilfreich. Vielen Dank.

Antwort

1

Möglicherweise eine duplicate.

Die Lösung verwendet include-all-sources Flag hinzugefügt here.

In Ihrem Fall sollte es sein:

"code_cov": "babel-node ./node_modules/istanbul/lib/cli.js --include-all-sources cover node_modules/mocha/bin/_mocha -- ./test/**/*.spec.js" 
+0

Arbeitet! Danke vielmals. – Raathigesh