karma.conf.js (1895B)
- // This is a karma config file. For more details see
- // http://karma-runner.github.io/0.13/config/configuration-file.html
- // we are also using it with karma-webpack
- // https://github.com/webpack/karma-webpack
- // var path = require('path')
- const merge = require('webpack-merge')
- const HtmlWebpackPlugin = require('html-webpack-plugin')
- const baseConfig = require('../../build/webpack.base.conf')
- const utils = require('../../build/utils')
- const webpack = require('webpack')
- // var projectRoot = path.resolve(__dirname, '../../')
- const webpackConfig = merge(baseConfig, {
- // use inline sourcemap for karma-sourcemap-loader
- module: {
- rules: utils.styleLoaders()
- },
- devtool: 'inline-source-map',
- plugins: [
- new webpack.DefinePlugin({
- 'process.env': require('../../config/test.env')
- }),
- new HtmlWebpackPlugin({
- filename: 'index.html',
- template: 'index.html',
- inject: true
- })
- ]
- })
- // no need for app entry during tests
- delete webpackConfig.entry
- module.exports = function (config) {
- config.set({
- // to run in additional browsers:
- // 1. install corresponding karma launcher
- // http://karma-runner.github.io/0.13/config/browsers.html
- // 2. add it to the `browsers` array below.
- browsers: ['FirefoxHeadless'],
- frameworks: ['mocha', 'sinon-chai'],
- reporters: ['mocha'],
- customLaunchers: {
- FirefoxHeadless: {
- base: 'Firefox',
- flags: [
- '-headless'
- ]
- }
- },
- files: [
- './index.js'
- ],
- preprocessors: {
- './index.js': ['webpack', 'sourcemap']
- },
- webpack: webpackConfig,
- webpackMiddleware: {
- noInfo: true
- },
- mochaReporter: {
- showDiff: true
- },
- coverageReporter: {
- dir: './coverage',
- reporters: [
- { type: 'lcov', subdir: '.' },
- { type: 'text-summary' }
- ]
- }
- })
- }