Skip to content

Commit f4c23ab

Browse files
committed
feat(test): Add code coverage for karma runs
1 parent 03fd4c4 commit f4c23ab

File tree

3 files changed

+25
-3
lines changed

3 files changed

+25
-3
lines changed

addon/ng2/blueprints/ng2/files/config/karma.conf.js

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@ module.exports = function (config) {
77
frameworks: ['jasmine'],
88
plugins: [
99
require('karma-jasmine'),
10-
require('karma-chrome-launcher')
10+
require('karma-chrome-launcher'),
11+
require('karma-coverage'),
12+
require('karma-remap-istanbul')
1113
],
1214
customLaunchers: {
1315
// chrome setup for travis CI using chromium
@@ -34,8 +36,18 @@ module.exports = function (config) {
3436
// Vendor packages might include spec files. We don't want to use those.
3537
'dist/vendor/**/*.spec.js'
3638
],
37-
preprocessors: {},
38-
reporters: ['progress'],
39+
preprocessors: {
40+
'dist/!(vendor)/**/!(*spec).js': ['coverage']
41+
},
42+
reporters: ['progress', 'coverage', 'karma-remap-istanbul'],
43+
coverageReporter: {
44+
type : 'json',
45+
subdir: '.'
46+
},
47+
remapIstanbulReporter: {
48+
src: 'coverage/coverage-final.json',
49+
reports: { html: 'coverage/report' },
50+
},
3951
port: 9876,
4052
colors: true,
4153
logLevel: config.LOG_INFO,

addon/ng2/blueprints/ng2/files/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,9 @@
4242
"jasmine-spec-reporter": "2.5.0",
4343
"karma": "0.13.22",
4444
"karma-chrome-launcher": "0.2.3",
45+
"karma-coverage": "^1.0.0",
4546
"karma-jasmine": "0.3.8",
47+
"karma-remap-istanbul": "^0.1.1",
4648
"protractor": "3.3.0",
4749
"ts-node": "0.5.5",
4850
"tslint": "3.11.0",

tests/e2e/e2e_workflow.spec.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,14 @@ describe('Basic end-to-end Workflow', function () {
196196
});
197197
});
198198

199+
it('Can generate coverage report after test run', function () {
200+
var coverageFilePath = path.join(process.cwd(), 'coverage', 'coverage-final.json');
201+
var resultsRemapFolderPath = path.join(process.cwd(), 'coverage', 'report');
202+
203+
expect(existsSync(coverageFilePath)).to.equal(true);
204+
expect(existsSync(resultsRemapFolderPath)).to.equal(true);
205+
});
206+
199207
it('Can create a test service using `ng generate service test-service`', function () {
200208
return ng(['generate', 'service', 'test-service']).then(function () {
201209
var serviceDir = path.join(process.cwd(), 'src', 'app');

0 commit comments

Comments
 (0)