karma-runner / karma-runner/karma-coverage

question how to exclude webpack.karma.context.js from coverage report

Open
#283 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
771
Forks
242
PR merge metrics
No merged PRs in 30d

Description

hi, I found my webpack.karma.context.js is included in coverage report,how can I exclude it? thanks

![context](https://cloud.githubusercontent.com/assets/24508594/22727462/eb49d4e8-ee13-11e6-8600-355c96ca3119.JPG)

**webpack.karma.context.js**
`let context = require.context('./app', true, /\.js/);
context.keys().forEach(context);`

**karma.conf.js**
`var webpack = require('webpack');
var path = require('path');
var webpackConfig = require('./webpack.config');

webpackConfig.entry = {};
webpackConfig.output = {};
webpackConfig.module.preLoaders = [
{
test: /\.test\.js$/,
include: /app/,
exclude: /node_modules/,
loader: 'babel',
query: {
cacheDirectory: true,
},
},
{
test: /\.js?$/,
include: /app/,
exclude: [/node_modules/, /\.test\.js$/, /webpack\.karma\.context\.js/],
loader: 'babel-istanbul',
query: {
cacheDirectory: true,
},
},
{
test: /\.html$/,
loader: 'html',
query: {
minimize: true
}
}
];

module.exports = function(config) {
config.set({
browsers: ['Chrome'],
frameworks: ['jasmine'],
reporters: ['progress', 'coverage', 'spec'],
coverageReporter: {
// output coverage reports
//type : 'html',
dir : 'coverage/',
reporters: [
{ type: 'text-summary', subdir: '.', file: 'text-summary.txt' },
{type: 'html', dir : 'coverage/',}
],
includeAllSources: true
},
logLevel: config.LOG_INFO, //config.LOG_INFO, config.LOG_DEBUG
autoWatch: true,
singleRun: false,
colors: true,
port: 9876,
basePath: '',

webpack:webpackConfig,
files: [ { pattern: 'webpack.karma.context.js', watched: false } ],
preprocessors: { 'webpack.karma.context.js': ['webpack', 'sourcemap', 'coverage'] },
exclude: [],
webpackServer: {
noInfo: true,
},
concurrency: Infinity,
plugins:[
require('karma-webpack'),
'karma-chrome-launcher',
'karma-jasmine',
'karma-coverage',
'karma-spec-reporter',
'karma-sourcemap-loader'
]
});
};`

**webpack.config.js**

`var webpack = require('webpack');
const prod = process.argv.indexOf('-p') !== -1;

/*
* Default webpack configuration for development
*/
var config = {
devtool: 'inline-source-map', //devtool: 'source-map',
entry: {
ngApp : __dirname + "/app/ngApp.js",
},
output: {
path: __dirname + "/public",
filename: "[name].bundle.js"
},
module: {
preLoaders: [
{
test: /\.js?$/,
include: /app/,
exclude: [/node_modules/, /\.test\.js$/, /webpack\.karma\.context\.js/],
loader: 'babel',
query: {
cacheDirectory: true,
},
},
{
test: /\.html$/,
loader: 'html',
query: {
minimize: true
}
}
],
loaders: [
{
test: /\.js$/,
include: /app/,
exclude: [/node_modules/, /\.test\.js$/, /webpack\.karma\.context\.js/],
loader: 'babel',
},
{
test: /\.html$/,
loader: 'html',
query: {
minimize: true
}
}
]
},
devServer: {
contentBase: "./public",
colors: true,
historyApiFallback: true,
inline: true
},
plugins: [
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.ProvidePlugin({
$: 'jquery',
jQuery: 'jquery'
})
]
}

if (prod) { config.devtool = false;
config.plugins.push( new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
}) );
config.plugins.push( new webpack.optimize.UglifyJsPlugin({ minimize: true, comments: false, compressor:{warnings:false} }) );
};
module.exports = config;
`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.