karma-webpack
Installation
npm install --save-dev karma-webpack
Usage
module.exports = function(config) {
config.set({
files: [
'test/*_test.js',
'test/**/*_test.js'
],
preprocessors: {
'test/*_test.js': ['webpack'],
'test/**/*_test.js': ['webpack']
},
webpack: {
},
webpackMiddleware: {
noInfo: true
}
});
};
Alternative usage
This configuration is more performant, but you cannot run single test anymore (only the complete suite).
The above configuration generates a webpack bundle for each test. For many testcases this can result in many big files. The alterative configuration creates a single bundle with all testcases.
files: [
'test/test_index.js'
],
preprocessors: {
'test/test_index.js': ['webpack']
},
var testsContext = require.context(".", true, /_test$/);
testsContext.keys().forEach(testsContext);
Every test file is required using the require.context and compiled with webpack into one test bundle.
Source Maps
You can use the karma-sourcemap-loader
to get the source maps generated for your test bundle.
npm install --save-dev karma-sourcemap-loader
And then add it to your preprocessors
preprocessors: {
'test/test_index.js': ['webpack', 'sourcemap']
}
And tell webpack to generate sourcemaps
webpack: {
devtool: 'inline-source-map'
}
Options
This is the full list of options you can specify in your Karma config.
webpack
Webpack configuration.
webpackMiddleware
Configuration for webpack-dev-middleware.
License
Copyright 2014-2015 Tobias Koppers
MIT