🏡 Adding code coverage is a snap!

This commit is contained in:
Kent C. Dodds 2015-08-10 22:54:11 -06:00
parent 78ed269ca4
commit 8902ef4394
4 changed files with 28 additions and 3 deletions

1
.gitignore vendored
View File

@ -1 +1,2 @@
node_modules
coverage/

View File

@ -36,7 +36,15 @@ module.exports = function (config) {
// test results reporter to use
// possible values: 'dots', 'progress'
// available reporters: https://npmjs.org/browse/keyword/karma-reporter
reporters: ['progress'],
reporters: ['progress', 'coverage'],
coverageReporter: {
reporters: [
{type: 'lcov', dir: 'coverage/', subdir: '.'},
{type: 'json', dir: 'coverage/', subdir: '.'},
{type: 'text-summary'}
]
},
// web server port
@ -69,7 +77,8 @@ module.exports = function (config) {
require('karma-webpack'),
'karma-jasmine',
'karma-firefox-launcher',
'karma-chrome-launcher'
'karma-chrome-launcher',
'karma-coverage'
]
});
};

View File

@ -9,9 +9,13 @@
"babel-core": "5.8.22",
"babel-loader": "5.3.2",
"css-loader": "0.15.6",
"isparta": "3.0.3",
"isparta-loader": "0.2.0",
"istanbul": "0.3.17",
"jasmine-core": "2.3.4",
"karma": "0.13.8",
"karma-chrome-launcher": "0.2.0",
"karma-coverage": "0.5.0",
"karma-firefox-launcher": "0.1.6",
"karma-jasmine": "0.3.6",
"karma-webpack": "1.7.0",

View File

@ -10,11 +10,11 @@ var config = {
devtool: 'eval',
module: {
loaders: [
{test: /\.js$/, loader: 'babel', exclude: /node_modules/},
{test: /\.css$/, loader: 'style!css'}
]
}
};
config.module.loaders = getJSLoaders().concat(config.module.loaders);
if (process.env.NODE_ENV === 'test') {
config.entry = './ControllerSpec.js';
@ -23,6 +23,17 @@ if (process.env.NODE_ENV === 'test') {
module.exports = config;
function getJSLoaders() {
var jsLoaders = [];
if (process.env.NODE_ENV === 'test') {
jsLoaders.push({test: /js\/.*\.js$/, loader: 'isparta', exclude: /node_modules/});
jsLoaders.push({test: /test\/.*\.js$/, loader: 'babel', exclude: /node_modules/});
} else {
jsLoaders.push({test: /\.js$/, loader: 'babel', exclude: /node_modules/});
}
return jsLoaders;
}
function here(d) {
return d ? path.join(__dirname, d) : __dirname;
}