Output coverage report in Angular
Angular seems to have a standard feature called karma that outputs a coverage report.
However, the default npm scripts command (ng test) does not output coverage.
ng test --code-coverage
When the command is executed, a folder named coverage is created in the same hierarchy as src, and the coverage report can be viewed in the specified format (e.g., html). (coverage/index.html)
Once the test run is complete, I would like auto-open in Chrome, but I am not sure if that functionality is available.
I am not sure if there is such a function, but nyc+mochawesome has it, so it may be possible depending on the settings in karma.conf.js.
karma.conf.js</h3>
The following are plug-ins configured by default in karma.conf.js.
plugins: [ require('karma-jasmine'),// Testing with karma and jasmine require('karma-chrome-launcher'), // It will run the karma test in chrome. require('karma-jasmine-html-reporter'),// It reports the results to debug.html. require('karma-coverage-istanbul-reporter'),// coverageIstanbulReporterやreporterの設定ができる require('@angular-devkit/build-angular/plugins/karma')// I'm not sure. ]
The default settings for coverageIstanbulReporter are as follows
coverageIstanbulReporter: { dir: require('path').join(__dirname, '../coverage'), reports: ['html', 'lcovonly'], fixWebpackSourcePaths: true },
Add ‘text-summary’ to this.
coverageIstanbulReporter: { dir: require('path').join(__dirname, '../coverage'), reports: ['html', 'lcovonly','text-summary'], fixWebpackSourcePaths: true },
A text-based coverage report will be output after test execution.
コメント