-
Notifications
You must be signed in to change notification settings - Fork 20
/
karma.conf.js
61 lines (48 loc) · 1.27 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
const webpack = require('webpack');
const webpackConfig = require('./webpack.config');
const PRODUCTION = false;
const DEVELOPMENT = false;
const __DEBUG__ = false;
const karmaWebpackConfig = Object.assign({}, webpackConfig, {
devtool: 'inline-source-map',
resolve: {
modulesDirectories: [
'src',
'node_modules',
],
extensions: ['', '.json', '.js'],
},
plugins: [
new webpack.DefinePlugin({ DEVELOPMENT, PRODUCTION, __DEBUG__ }),
new webpack.optimize.OccurrenceOrderPlugin(),
],
});
module.exports = (karmaConfig) => {
karmaConfig.set({
browsers: ['PhantomJS'],
singleRun: !!process.env.CONTINUOUS_INTEGRATION,
frameworks: ['mocha', 'sinon', 'chai'],
files: [
'./node_modules/phantomjs-polyfill/bind-polyfill.js',
'tests.karma.js',
],
preprocessors: {
'tests.karma.js': ['webpack', 'sourcemap'],
},
reporters: ['mocha'],
plugins: [
require('karma-webpack'),
require('karma-mocha'),
require('karma-sinon'),
require('karma-chai'),
require('karma-mocha-reporter'),
require('karma-phantomjs-launcher'),
require('karma-sourcemap-loader'),
],
webpack: karmaWebpackConfig,
webpackServer: {
noInfo: true,
quiet: true,
},
});
};