У меня возникли проблемы с настройкой файла karma.conf. js для проведения модульного тестирования на ES6 через Webstorm с использованием babel и Karma.
Я пытаюсь выполнить тест на '/test/BaseElement.test.js'
При запуске теста я получаю следующую ошибку:
An error was thrown in afterAll
Uncaught SyntaxError: Unexpected token 'export'
SyntaxError: Unexpected token 'export'
Что означает для меня предварительную обработку не было сделано должным образом.
Вот мои зависимости от моего пакета. json:
"dependencies": {},
"devDependencies": {
"@babel/core": "^7.9.0",
"@babel/plugin-proposal-class-properties": "^7.8.3",
"@babel/preset-env": "^7.9.5",
"@webcomponents/webcomponentsjs": "^2.4.3",
"jasmine": "^3.5.0",
"jspm": "^2.0.0-beta.7",
"karma": "^5.0.1",
"karma-babel-preprocessor": "^8.0.1",
"karma-chrome-launcher": "^3.1.0",
"karma-jasmine": "^3.1.1",
"karma-spec-reporter": "0.0.32",
"mocha": "^7.1.1"
И мой файл Karma.config. js:
module.exports = function(config) {
config.set({
basePath: "",
frameworks: ["jasmine"],
Preprocessors: {
//'./Control/**/*.js': ['babel'],
// './lib/**/*.js': ['babel'],
//'./Module/**/*.js': ['babel'],
'../lib/Element/BaseElement.js': ['babel'],
'../test/BaseElement.test.js ': ['babel']
},
babelPreprocessor: {
options: {
presets: ['@babel/preset-env']
}
},
plugins: [
'@babel/core',
'karma-jasmine',
'karma-chrome-launcher',
'karma-babel-preprocessor'
],
files: [
{pattern: '../lib/Element/BaseElement.js', watched: true, included: true, served: true},
{ pattern: "*.test.js", type: "module", included: true }
],
//reporters: ['jasmine'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ["Chrome"],
singleRun: true,
concurrency: Infinity
});
};
Когда я вывожу при использовании флага отладки --log-level ничего о предварительной обработке не появляется.
Файлы расположены так:
в root: package.json
в корне / test: BaseElement.test.js
и karma.conf.js
in root/lib/Element BaseElement.js
Любая помощь будет принята с благодарностью. Спасибо.