12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- // 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')
- var merge = require('webpack-merge')
- var baseConfig = require('../../build/webpack.base.conf')
- var utils = require('../../build/utils')
- var webpack = require('webpack')
- var projectRoot = path.resolve(__dirname, '../../')
- var webpackConfig = merge(baseConfig, {
- // use inline sourcemap for karma-sourcemap-loader
- module: {
- rules: utils.styleLoaders()
- },
- devtool: '#inline-source-map',
- // vue: {
- // loaders: {
- // js: 'isparta'
- // }
- // },
- plugins: [
- new webpack.DefinePlugin({
- 'process.env': require('../../config/test.env')
- })
- ]
- })
- // no need for app entry during tests
- delete webpackConfig.entry
- // make sure isparta loader is applied before eslint
- // webpackConfig.module.preLoaders = webpackConfig.module.preLoaders || []
- // webpackConfig.module.preLoaders.unshift({
- // test: /\.js$/,
- // loader: 'isparta',
- // include: path.resolve(projectRoot, 'src')
- // })
- // // only apply babel for test files when using isparta
- // webpackConfig.module.loaders.some(function (loader, i) {
- // if (loader.loader === 'babel') {
- // loader.include = path.resolve(projectRoot, 'test/unit')
- // return true
- // }
- // })
- 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' }
- ]
- }
- })
- }
|