let webpackConfig = require('./webpack.config.js'); Object.assign(webpackConfig, { entry: undefined, output: undefined, optimization: undefined, plugins: undefined, devtool: 'inline-source-map' }); // Karma configuration // Generated on Tue Aug 22 2017 13:37:43 GMT+0200 (CEST) module.exports = function(config) { let baseConfig = { // base path that will be used to resolve all patterns (eg. files, exclude) basePath: '', // frameworks to use // available frameworks: https://npmjs.org/browse/keyword/karma-adapter frameworks: ['jasmine'], // list of files / patterns to load in the browser files: [ {pattern: 'front/test-index.js', watched: false} ], // list of files to exclude exclude: [], webpack: webpackConfig, webpackMiddleware: { stats: 'errors-only' }, webpackServer: { noInfo: true }, // preprocess matching files before serving them to the browser // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor preprocessors: { './front/test-index.js': ['webpack', 'sourcemap'] }, // test results reporter to use // possible values: 'dots', 'progress' // available reporters: https://npmjs.org/browse/keyword/karma-reporter reporters: ['progress'], // web server port port: 9876, // enable / disable colors in the output (reporters and logs) colors: true, // level of logging // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG logLevel: config.LOG_INFO, // enable / disable watching file and executing tests whenever any file changes autoWatch: true, // start these browsers // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher browsers: ['ChromeNoSandboxHeadless'], // Continuous Integration mode // if true, Karma captures browsers, runs the tests and exits singleRun: false, // Concurrency level // how many browser should be started simultaneous concurrency: Infinity, plugins: [ 'karma-jasmine', 'karma-webpack', 'karma-chrome-launcher', 'karma-firefox-launcher', 'karma-junit-reporter', 'karma-sourcemap-loader' ], customLaunchers: { ChromeNoSandboxHeadless: { base: 'Chrome', flags: [ '--no-sandbox', // See https://chromium.googlesource.com/chromium/src/+/lkgr/headless/README.md '--headless', '--disable-gpu', // Without a remote debugging port, Google Chrome exits immediately. '--remote-debugging-port=9222' ] }, FirefoxHeadless: { base: 'Firefox', flags: ['-headless'] }, ChromiumHeadless: { base: 'Chromium', flags: [ '--no-sandbox', '--headless', '--disable-gpu', '--remote-debugging-port=9222' ] } } }; if (process.env.FIREFOX_BIN) baseConfig.browsers = ['FirefoxHeadless']; if (config.junit) { Object.assign(baseConfig, { singleRun: true, reporters: ['dots', 'junit'], junitReporter: { outputFile: 'junitresults.xml' } }); } config.set(baseConfig); };