From 9d9b4169407aa4b09c4bcc0d5044c63bc367fcae Mon Sep 17 00:00:00 2001 From: "Kent C. Dodds" Date: Tue, 7 Jun 2016 20:43:53 -0600 Subject: [PATCH] add coverage --- .babelrc | 9 ++++++++- karma.conf.js | 10 +++++++++- package.json | 2 ++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/.babelrc b/.babelrc index bb8d835..f5c47bf 100644 --- a/.babelrc +++ b/.babelrc @@ -1,3 +1,10 @@ { - "presets": ["es2015-webpack", "stage-2"] + "presets": ["es2015-webpack", "stage-2"], + "env": { + "test": { + "plugins": [ + ["__coverage__", {"ignore": "*.test.*"}] + ] + } + } } diff --git a/karma.conf.js b/karma.conf.js index f21b2ba..f786cb1 100644 --- a/karma.conf.js +++ b/karma.conf.js @@ -1,5 +1,6 @@ const webpackEnv = {test: true} const webpackConfig = require('./webpack.config')(webpackEnv) +process.env.BABEL_ENV = 'test' // so we load the correct babel plugins const fileGlob = 'src/js/**/*.test.js' module.exports = function setKarmaConfig(config) { @@ -12,7 +13,14 @@ module.exports = function setKarmaConfig(config) { }, webpack: webpackConfig, webpackMiddleware: {noInfo: true}, - reporters: ['progress'], + reporters: ['progress', 'coverage'], + coverageReporter: { + reporters: [ + {type: 'lcov', dir: 'coverage/', subdir: '.'}, + {type: 'json', dir: 'coverage/', subdir: '.'}, + {type: 'text-summary'}, + ], + }, port: 9876, colors: true, logLevel: config.LOG_INFO, diff --git a/package.json b/package.json index d646bc7..ec1b77f 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "babel-core": "6.8.0", "babel-eslint": "6.0.4", "babel-loader": "6.2.4", + "babel-plugin-__coverage__": "1.11.111", "babel-preset-es2015-webpack": "6.4.1", "babel-preset-stage-2": "6.5.0", "chai": "3.5.0", @@ -21,6 +22,7 @@ "karma": "0.13.22", "karma-chai": "0.1.0", "karma-chrome-launcher": "1.0.1", + "karma-coverage": "1.0.0", "karma-mocha": "1.0.1", "karma-webpack": "1.7.0", "mocha": "2.5.3",