youjo-fe/test/unit/karma.conf.js

95 lines
2.4 KiB
JavaScript
Raw Normal View History

2016-10-26 16:46:32 +02:00
// 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
2019-07-06 23:54:17 +02:00
// var path = require('path')
var { merge } = require('webpack-merge')
var HtmlWebpackPlugin = require('html-webpack-plugin')
2016-10-26 16:46:32 +02:00
var baseConfig = require('../../build/webpack.base.conf')
var utils = require('../../build/utils')
var webpack = require('webpack')
2019-07-06 23:54:17 +02:00
// var projectRoot = path.resolve(__dirname, '../../')
2016-10-26 16:46:32 +02:00
var webpackConfig = merge(baseConfig, {
// use inline sourcemap for karma-sourcemap-loader
module: {
2019-04-10 21:36:37 +02:00
rules: utils.styleLoaders()
2016-10-26 16:46:32 +02:00
},
devtool: 'inline-source-map',
// vue: {
// loaders: {
// js: 'isparta'
// }
// },
2016-10-26 16:46:32 +02:00
plugins: [
new webpack.DefinePlugin({
'process.env': require('../../config/test.env')
}),
new HtmlWebpackPlugin({
filename: 'index.html',
template: 'index.html',
inject: true
2016-10-26 16:46:32 +02:00
})
]
})
// 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')
// })
2016-10-26 16:46:32 +02:00
// // 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
// }
// })
2016-10-26 16:46:32 +02:00
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.
2019-04-24 20:53:51 +02:00
browsers: ['FirefoxHeadless'],
2016-10-26 16:46:32 +02:00
frameworks: ['mocha', 'sinon-chai'],
2016-11-18 19:47:47 +01:00
reporters: ['mocha'],
2019-04-24 20:53:51 +02:00
customLaunchers: {
'FirefoxHeadless': {
base: 'Firefox',
flags: [
2019-07-05 09:02:14 +02:00
'-headless'
2019-04-24 20:53:51 +02:00
]
}
},
2018-12-13 18:27:03 +01:00
files: [
'./index.js'
],
2016-10-26 16:46:32 +02:00
preprocessors: {
'./index.js': ['webpack', 'sourcemap']
},
webpack: webpackConfig,
webpackMiddleware: {
noInfo: true
},
2016-11-18 19:47:47 +01:00
mochaReporter: {
showDiff: true
},
2016-10-26 16:46:32 +02:00
coverageReporter: {
dir: './coverage',
reporters: [
{ type: 'lcov', subdir: '.' },
{ type: 'text-summary' }
]
}
})
}