Skip to content
This repository has been archived by the owner on Aug 8, 2019. It is now read-only.

History / usage with karma

Revisions

  • Remove plugins key from config

    @shuLhan shuLhan committed Feb 12, 2018
  • Fix space formatting error from previous edit (minor edit)

    @SterlingVix SterlingVix committed Nov 4, 2016
  • Fix space formatting error from previous edit (minor edit)

    @SterlingVix SterlingVix committed Nov 4, 2016
  • Added meaning to comments in karma config file example to increase clarity of explanation regarding webpack.entry watcher.

    @SterlingVix SterlingVix committed Nov 4, 2016
  • Adding additional details about how to use the stats object with webpackMiddleware

    @elyseko elyseko committed Sep 8, 2016
  • # karma-webpack ## Installation ``` sh npm install --save-dev karma-webpack ``` ## Usage ``` javascript // 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") ] }); }; ``` ## 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. ``` javascript 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'] }, ``` ``` javascript // 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](http://webpack.github.io/docs/context.html#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 ``` javascript preprocessors: { 'test/test_index.js': ['webpack', 'sourcemap'] } ``` And tell webpack to generate sourcemaps ``` javascript 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](http://www.opensource.org/licenses/mit-license.php)

    @odykyi odykyi committed Feb 12, 2016
  • renamed wikis (again)

    @sokra sokra committed Jan 20, 2015
  • replaces `-` with spaces

    @sokra sokra committed Sep 18, 2014
  • Created usage with karma (markdown)

    @sokra sokra committed Jun 27, 2014