Мне пришлось перейти на новейшую угловатую версию. После этого тесты кармы перестали работать и просто продолжали раздавить журнал ошибок:
14 04 2018 14: 17: 00.453: ОШИБКА [препроцесс]: Не удается загрузить "@angular-devkit/build-angle", он не зарегистрирован! Возможно, вам не хватает плагина?
...\parkandrest-щ\node_modules\@угловой DevKit\встроенный угловой\SRC\угловато-CLI файлы\Plugins\пакеты\angular_devkit\build_angular\SRC\угловато-CLI файлы \Plugins\karma.ts: 52 const options = config.buildWebpack.options; ^ TypeError: Невозможно прочитать параметры свойства undefined в init (...\parkandrest-ui\node_modules\@angular-devkit\build-angular\src\angular-cli-files\plugins\packages\angular_devkit\build_angular\src\angular-cli-files\plugins\karma.ts: 52: 39) в Array.invoke(...\parkandrest-ui\node_modules\di\lib\injector.js: 75: 15) в Injector.get(...\parkandrest-ui\node_modules\di\lib\injector.js: 48: 43) в E:\Workspace\Training\spring-boot-tutorial\parkandrest-ui\node_modules\karma\lib\server.js: 166: 20 в Array.forEach() на сервере Server._start (...\parkandrest-ui\node_modules\karma\lib\server.js: 165: 21) в Injector.invoke(...\parkandrest-ui\node_modules\di\lib\injector.js: 75: 15) на сервере Server.start(...\parkandrest-ui\node_modules\karma\lib\server.js: 126: 18) в Object.
Мой файл 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-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
},
files: [
{ pattern: './src/test.ts', watched: false }
],
preprocessors: {
'./src/test.ts': ['@angular-devkit/build-angular']
},
mime: {
'text/x-typescript': ['ts','tsx']
},
coverageIstanbulReporter: {
dir: require('path').join(__dirname, 'coverage'), reports: [ 'html', 'lcovonly' ],
fixWebpackSourcePaths: true
},
angularCli: {
config: './angular.json',
environment: 'dev'
},
reporters: config.angularCli && config.angularCli.codeCoverage
? ['progress', 'coverage-istanbul']
: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['Chrome'],
singleRun: false
});
};
@angular-devkit\build-angular, конечно, установлен. Я ценю любую помощь.
EDIT: У меня есть решение, которое фактически объединяет большинство пользовательских ответов на мой вопрос с моими собственными. Во-первых, я обновил весь свой проект до стабильного углового 6 релиза. Затем я сгенерировал пустой проект, например, предложенный R.Richards, а затем заменил почти все конфигурации в моем старом проекте новым. Наконец, я столкнулся с проблемой, о которой предупреждает @Сувенду. Я использовал его решение для его решения. К сожалению, у меня все еще есть одна проблема с моей средой (Intellij IDEA 2017.3.4 Ultimate), которая запрещает мне начинать тесты кармы непосредственно с моей IDE (у меня такая же ошибка @Suvendu упоминает), однако это тема для следующий вопрос.