2016-08-09 121 views
3

Ich bin mir nicht sicher, ob ich Istanbul eingerichtet verstehe.Wie wird die Codeabdeckung in Istanbul mit Angular 2 CLI eingerichtet?

Alle Lernprogramme testen nur eine oder zwei Dateien. Wie richten Sie es ein, damit es Ihre gesamte Codebasis testet? Verstehe ich das falsch?

+0

Welches Test-Framework verwenden Sie, um Ihre Tests zu schreiben? –

+0

Nun ich denke, eckig-cli @ webpack enthält Code-Coverage. lass mich es versuchen und dich wissen lassen. – user1354934

Antwort

2

Ohne genau zu sehen, was Sie gehen, kann ich Ihnen meine karma.conf zeigen die derzeit Codeabdeckung zeigt (obwohl ich bekommen es nicht nur noch mit Typoskript zu arbeiten):

config.set({ 
    basePath: "./", 
    frameworks: ["jasmine"], 
    files: [    
     //load files here, including your spec and source files 
    ], 
    // Other settings... 
    browsers: ["PhantomJS"], 
    plugins: [ 
     "karma-jasmine", 
     "karma-coverage", //<-- using karma-coverage for code coverage 
     "karma-chrome-launcher", 
     "karma-phantomjs-launcher" 
    ], 
    // Coverage reporter generates the coverage 
    reporters: ["progress", "coverage"], //<-- reporter for code coverage 
    // Source files that you wanna generate coverage for. 
    // Do not include tests or libraries (these files will be instrumented by Istanbul) 
    preprocessors: { 
     "test/bin/js/app/**/!(*spec).js": ["coverage"] //<-- coverage pre-process 
    }, 
    // Generate the code coverage report (lots of formats available) 
    coverageReporter: { 
     reporters:[ 
      { type: "html", dir: "./test/bin", subdir: "coverage/html" } 
     ] 
    }, 
    singleRun: true 
}) 

In Ihrem package.json, umfassen "karma-coverage": "1.1.1" als devDependency

Hoffentlich, dass Sie in die richtige Richtung zumindest zeigt.

+0

danke das ist wirklich hilfreich! lass mich angular-cli @ webpack ausprobieren es hat code coverage eingebaut ich glaube – user1354934

+3

ich benutze eckig-cli 1.0.0-beta.24 und erzeuge deckung durch laufe 'ng test --code-coverage'. Es deckt alles ab, was ich für Tests schreibe. Es beinhaltet jedoch auch die Abdeckung für polypills.ts und test.ts, die ich nicht will, aber dann die Abdeckung für alle Dateien, die keine Tests haben - dh diese sollten 0% abgedeckt sein, aber sie fehlen nur in der Coverage-Ausgabe . – EdL