Сейчас я смотрю на модульное тестирование с Angular 6.0. Я использую Karma и Jasmine, которые идут в комплекте с новым Angular-проектом для запуска тестов. Тесты работают нормально и все, однако браузеры закрываются автоматически после каждого запуска теста, что означает, что любые неудачные тесты практически невозможно отладить.
Я пытался поиграться с конфигурацией, но безуспешно. Я совершенно уверен, что ничто не переопределяет конфигурацию, и я знаю, что эта конфигурация используется (например, после изменения массива браузеров у меня теперь запущено несколько браузеров).
Я выполняю тесты, выполняя команду 'ng test'. Попытка выполнить «начало кармы», похоже, не работает - не уверен, что это актуально.
Вот karma.conf.js:
module.exports = function (config) {
config.set({
basePath: '',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
require('karma-edge-launcher'),
require('karma-firefox-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false // leave Jasmine Spec Runner output visible in browser
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, '../coverage'),
reports: ['html', 'lcovonly'],
fixWebpackSourcePaths: true
},
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome', 'Firefox', 'Edge'],
singleRun: false
});
};
«SingleRun», похоже, не имеет никакого эффекта, так же, как autoWatch.