Code coverage for angular 2

后端 未结 4 1312
孤独总比滥情好
孤独总比滥情好 2021-02-02 15:44

How do you find the code coverage for angular 2 code? Is there any plugin for vs code editor or webstorm that I can use? I am using Jasmine and Karma for unit testing of my code

相关标签:
4条回答
  • 2021-02-02 15:56
    ng test --code-coverage 
    

    or

    ng test --code-coverage --reporters=teamcity,coverage-istanbul
    
    0 讨论(0)
  • 2021-02-02 16:06

    First install the dependencies.

    npm install karma karma-jasmine karma-chrome-launcher karma-jasmine-html-reporter karma-coverage-istanbul-reporter
    

    Then run ng test.

    ng test --code-coverage
    

    Then run the server that shows you your report.

    http-server -c-1 -o -p 9875 ./coverage
    

    You should see something like this:

    I wrote a blog post about this here.

    0 讨论(0)
  • 2021-02-02 16:14

    If you want to see overall test coverage statistics than of course in Angular CLI you can just type, and see the bottom of your command prompt window

    ng test --code-coverage
    

    result:

    if you want to see component's individual coverage of tests follow these steps.

    1. npm install --save-dev karma-teamcity-reporter

    2. Add require('karma-teamcity-reporter') to list of plugins in karma.conf.js

    3. ng test --code-coverage --reporters=teamcity,coverage-istanbul

    note that list of reporters is comma-separated, as we have added a new reporter, teamcity.

    after running this command you can see the folder coverage in your dir and open index.html for a graphical view of test coverage.

    You can also set the coverage threshold that you want to achieve, in karma.conf.js, like this.

    coverageIstanbulReporter: {
          reports: ['html', 'lcovonly'],
          fixWebpackSourcePaths: true,
          thresholds: {
            statements: 90,
            lines: 90,
            branches: 90,
            functions: 90
          }
        },
    
    0 讨论(0)
  • 2021-02-02 16:18

    I struggled with this one. The solution I found was

    ng test --code-coverage
    

    But make sure that in your karma.conf.js file, you have a reporter specified (I use 'coverage-istanbul')

    e.g. reporters: ['coverage-istanbul']

    The coverage report will be in a directory called 'coverage' in your root directory.

    0 讨论(0)
提交回复
热议问题