-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
karma.conf.js
56 lines (53 loc) · 1.78 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
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
const isCSB = !!process.env.CSB;
const isSB = !!process.env.SB;
const isLocal = !isCSB && !isSB;
const withCoverage = isLocal && !!process.env.WITH_COVERAGE;
if (isLocal) {
process.env.CHROME_BIN = require('puppeteer').executablePath();
}
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
...(isLocal
? [require('karma-chrome-launcher'), require('karma-ie-launcher'), require('karma-junit-reporter')]
: []),
require('karma-jasmine-html-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
jasmine: {
random: false,
},
},
customLaunchers: {
ChromeCi: {
base: 'ChromeHeadless',
flags: ['--headless', '--disable-gpu', '--no-sandbox', '--disable-dev-shm-usage'],
},
IECi: {
base: 'IE',
flags: ['-extoff'],
},
},
junitReporter: {
outputDir: require('path').join(__dirname, './test-reports'),
outputFile: 'specs-junit.xml',
useBrowserName: false,
},
reporters: withCoverage ? ['junit'] : isCSB || isSB ? ['kjhtml'] : ['dots', 'kjhtml'],
hostname: isCSB ? 'random-4200.csb.app' : isSB ? 'random.github.stackblitz.io' : 'localhost',
listenAddress: isCSB || isSB ? '0.0.0.0' : 'localhost',
port: isCSB ? 4200 : isSB ? 80 : 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: isCSB || isSB,
browsers: isCSB || isSB ? [] : ['ChromeCi'],
singleRun: isLocal,
});
};