feat: Added headless test configuration

(vscode debug support)
This commit is contained in:
Giacomo Ferlaino 2020-03-13 00:51:50 +01:00
parent 7fe1b1ab30
commit 889b0364a9
3 changed files with 34 additions and 8 deletions

20
.vscode/launch.json vendored Normal file
View file

@ -0,0 +1,20 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "chrome",
"request": "attach",
"name": "Unit tests",
"address": "localhost",
"port": 9333,
"sourceMaps": true,
"webRoot": "${workspaceFolder}",
"pathMapping": {
"/_karma_webpack_": "${workspaceFolder}"
}
}
]
}

View file

@ -1,7 +1,7 @@
// Karma configuration file, see link for more information // Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html // https://karma-runner.github.io/1.0/config/configuration-file.html
module.exports = function (config) { module.exports = function(config) {
config.set({ config.set({
basePath: '', basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'], frameworks: ['jasmine', '@angular-devkit/build-angular'],
@ -10,22 +10,28 @@ module.exports = function (config) {
require('karma-chrome-launcher'), require('karma-chrome-launcher'),
require('karma-jasmine-html-reporter'), require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'), require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma') require('@angular-devkit/build-angular/plugins/karma'),
], ],
client: { client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser clearContext: false, // leave Jasmine Spec Runner output visible in browser
}, },
coverageIstanbulReporter: { coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'), dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'], reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true fixWebpackSourcePaths: true,
}, },
reporters: ['progress', 'kjhtml'], reporters: ['progress', 'kjhtml'],
port: 9876, port: 9876,
colors: true, colors: true,
logLevel: config.LOG_INFO, logLevel: config.LOG_INFO,
autoWatch: true, autoWatch: true,
browsers: ['Chrome'], browsers: ['Chrome', 'ChromeHeadlessDebug'],
singleRun: false customLaunchers: {
ChromeHeadlessDebug: {
base: 'ChromeHeadless',
flags: ['--remote-debugging-port=9333'],
},
},
singleRun: false,
}); });
}; };

View file

@ -6,7 +6,7 @@
"start": "./node_modules/.bin/ng serve", "start": "./node_modules/.bin/ng serve",
"build": "./node_modules/.bin/ng build --aot --prod", "build": "./node_modules/.bin/ng build --aot --prod",
"test": "./node_modules/.bin/ng test", "test": "./node_modules/.bin/ng test",
"test:headless": "./node_modules/.bin/ng test --browsers=ChromeHeadless", "test:headless": "./node_modules/.bin/ng test --browsers=ChromeHeadlessDebug",
"lint": "./node_modules/.bin/ng lint", "lint": "./node_modules/.bin/ng lint",
"e2e": "./node_modules/.bin/ng e2e", "e2e": "./node_modules/.bin/ng e2e",
"pack": "./node_modules/.bin/ng-packagr -p ./src/lib/package.json" "pack": "./node_modules/.bin/ng-packagr -p ./src/lib/package.json"