diff --git a/package.json b/package.json index 340f9ca..915be4a 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "ionic:build": "ionic-app-scripts build", "ionic:serve": "ionic-app-scripts serve", "test": "karma start ./test-config/karma.conf.js", - "test-ci": "karma start ./test-config/karma.conf.js --single-run", + "test-coverage": "karma start ./test-config/karma.conf.js --coverage" + "test-ci": "karma start ./test-config/karma.conf.js --single-run" "e2e": "webdriver-manager update --standalone false --gecko false; protractor ./test-config/protractor.conf.js" }, "dependencies": { @@ -40,10 +41,12 @@ "@types/node": "^7.0.8", "angular2-template-loader": "^0.6.2", "html-loader": "^0.4.5", + "istanbul-instrumenter-loader": "^2.0.0", "jasmine": "^2.5.3", "jasmine-spec-reporter": "^3.2.0", "karma": "^1.5.0", "karma-chrome-launcher": "^2.0.0", + "karma-coverage-istanbul-reporter": "^1.0.0", "karma-jasmine": "^1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "karma-sourcemap-loader": "^0.3.7", diff --git a/test-config/karma.conf.js b/test-config/karma.conf.js index daac6e5..7303daa 100755 --- a/test-config/karma.conf.js +++ b/test-config/karma.conf.js @@ -30,7 +30,12 @@ module.exports = function (config) { terminal: true }, - reporters: ['kjhtml', 'dots'], + coverageIstanbulReporter: { + reports: [ 'html', 'lcovonly' ], + fixWebpackSourcePaths: true + }, + + reporters: config.coverage ? ['kjhtml', 'dots', 'coverage-istanbul'] : ['kjhtml', 'dots'], port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/test-config/webpack.test.js b/test-config/webpack.test.js index 01740b9..8dec93b 100755 --- a/test-config/webpack.test.js +++ b/test-config/webpack.test.js @@ -18,6 +18,15 @@ module.exports = { } , 'angular2-template-loader' ] }, + { + test: /.+\.ts$/, + exclude: /(index.ts|mocks.ts|\.spec\.ts$)/, + loader: 'istanbul-instrumenter-loader', + enforce: 'post', + query: { + esModules: true + } + }, { test: /\.html$/, loader: 'html-loader?attrs=false'