-
Notifications
You must be signed in to change notification settings - Fork 1
/
karma.conf.js
73 lines (70 loc) · 1.85 KB
/
karma.conf.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
'use strict';
module.exports = function (config) {
let browsers = ['Chrome'];
let preprocessors = ['webpack', 'sourcemap'];
let reporters = ['mocha'];
let webpack = {
devtool: 'inline-source-map',
module: {
loaders: [
{
test: /(\.js)$/,
exclude: /(node_modules)/,
loader: ['babel-loader'],
query: {
presets: ['es2015']
}
}
]
}
};
if (config.coverage) {
browsers = ['PhantomJS'];
reporters = ['mocha', 'coverage'];
preprocessors = ['webpack'];
webpack.isparta = {
embedSource: true,
noAutoWrap: true,
babel: {
presets: ['es2015']
}
};
webpack.module.preLoaders = [
{
test: /(\.js)$/,
exclude: /(__tests__|node_modules)/,
loader: 'isparta'
}
];
}
config.set({
browsers,
reporters,
webpack,
frameworks: ['mocha'],
files: [
'./src/**/__tests__/*-test.js'
],
plugins: [
'karma-chrome-launcher',
'karma-chai',
'karma-mocha',
'karma-sourcemap-loader',
'karma-webpack',
'karma-mocha-reporter',
'karma-coverage',
'karma-phantomjs-launcher'
],
preprocessors: {
'./src/**/__tests__/*-test.js': preprocessors
},
coverageReporter: {
type: 'html',
dir: 'coverage'
},
webpackMiddleware: {
noInfo: true //please don't spam the console when running in karma!
},
singleRun: config.coverage
});
};