-
Notifications
You must be signed in to change notification settings - Fork 9
/
karma.config.js
66 lines (57 loc) · 2.24 KB
/
karma.config.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
var webpack = require('webpack');
// Karma Konfiguration
module.exports = function(config) {
config.set({
// Das benötigte Test Framework
frameworks: ['jasmine'],
// Ausgabe der Testergebnisse
reporters: ['progress'],
// Der ausführende Browser
browsers: ['Chrome'],
// Durch diesen Flag werden die Tests ausgeführt und karma sowie der Browser danach beendet
singleRun: true,
// Konfiguration aller Dateien welche während des Tests benötigt werden
files: [
'app/main.spec.ts'
],
// Dateien welche vor dem eigentlichen Test durch ein preprocessor Module bearbeitet werden müssen
preprocessors: {
'app/main.spec.ts': ['webpack', 'sourcemap']
},
// Die webpack preprocessor Konfiguration um TypeScript in JavaScript zu transpilieren.
webpack: {
devtool: 'inline-source-map',
module: {
loaders: [
{
test: /\.ts$/,
loaders: [
'angular2-router-loader?loader=system',
'angular2-template-loader',
'awesome-typescript-loader'
],
exclude: /node_modules/
},
{test: /\.(html|css)$/, loader: 'raw-loader'}
]
},
resolve: {
extensions: ['.ts', '.js']
},
plugins: [
// https://github.com/webpack/karma-webpack/issues/109
new webpack.SourceMapDevToolPlugin({
filename: null, // if no value is provided the sourcemap is inlined
test: /\.(ts|js)($|\?)/i // process .js and .ts files only
}),
// https://github.com/angular/angular/issues/11580
new webpack.ContextReplacementPlugin(
/angular(\\|\/)core(\\|\/)src(\\|\/)linker/,
__dirname + './src'
)
]
},
// Der webpack preprocessor soll nur relevante logs ausgeben.
webpackMiddleware: { stats: 'errors-only'}
});
};