-
Notifications
You must be signed in to change notification settings - Fork 6
/
karma.conf.js
58 lines (52 loc) · 1.58 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
const commonConfig = require('./common.config');
const path = require('path');
const webpackModule = commonConfig.webpackModule;
// transpile and instrument only testing sources with babel-istanbul
webpackModule.preLoaders.unshift(
{
test: /(\.js)$/,
// only include src directory
include: [path.resolve(__dirname, 'src')],
loader: 'isparta-instrumenter-loader'
});
// Only add rewire when testing
webpackModule.loaders[webpackModule.loaders.length - 1].query.plugins = ['babel-plugin-rewire'];
module.exports = function (config) {
var configuration = {
browsers: [
'Chrome'
],
coverageReporter: {
reporters: [
{type: 'lcov', subdir: 'report-lcov'}
]
},
customLaunchers: {
Chrome_travis_ci: {
base: 'Chrome',
flags: ['--no-sandbox']
}
},
singleRun: true, // just run once by default
frameworks: ['jasmine-jquery', 'jasmine'],
files: [
'tests.webpack.js'
],
postcss: commonConfig.postcss,
preprocessors: {
'tests.webpack.js': ['webpack', 'sourcemap'] // preprocess with webpack and our sourcemap loader
},
reporters: ['spec', 'coverage'], // report results in this format
webpack: { // kind of a copy of your webpack config
devtool: 'inline-source-map', // just do inline source maps instead of the default
module: webpackModule
},
webpackServer: {
noInfo: true // please don't spam the console when running in karma!
}
};
if (process.env.TRAVIS) {
configuration.browsers = ['Chrome_travis_ci'];
}
config.set(configuration);
};