-
Notifications
You must be signed in to change notification settings - Fork 0
usage with karma.cn
https://github.com/webpack/karma-webpack
npm install --save-dev karma-webpack
// Karma configuration
module.exports = function(config) {
config.set({
// ... normal karma configuration
files: [
// all files ending in "_test"
'test/*_test.js',
'test/**/*_test.js'
// each file acts as entry point for the webpack configuration
],
preprocessors: {
// add webpack as preprocessor
'test/*_test.js': ['webpack'],
'test/**/*_test.js': ['webpack']
},
webpack: {
// karma watches the test entry points
// (you don't need to specify the entry option)
// webpack watches dependencies
// webpack configuration
},
webpackMiddleware: {
// webpack-dev-middleware configuration
// i. e.
noInfo: true
},
plugins: [
require("karma-webpack")
]
});
};
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.
上述的配置为每个测试都生成一个webpack的打包。对很多测试用例来说,会导致生成很多大文件。另一个配置给所有测试用例生成一个单独的打包。
files: [
// only specify one entry point
// and require all tests in there
'test/test_index.js'
],
preprocessors: {
// add webpack as preprocessor
'test/test_index.js': ['webpack']
},
// test/test_index.js
// require all modules ending in "_test" from the
// current directory and all subdirectories
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.
通过require.context 每个测试文件会被引用到并被webpack打成一个测试包。
You can use the karma-sourcemap-loader
to get the source maps generated for your test bundle.
你可以使用karma-sourcemap-loader
来得到测试包对应生成的sourcemap
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生成sourcemap
webpack: {
// ...
devtool: 'inline-source-map'
}
This is the full list of options you can specify in your Karma config.
下面是可以在karma配置中指定的选项的完整列表
Webpack 配置.
配置webpack-dev-middleware.
Copyright 2014-2015 Tobias Koppers