Я подаю заявку в Angular 7 и у меня около 50 тестов. Эти проходят на моей машине.
Моя цель - обеспечить сборку последней версии моего приложения и запуск тестов на Jenkins.
Я думаю, что сервер Jenkins работает на Linux.
Я использую следующую команду для выполнения тестов:
npm install
ng test --watch=false --code-coverage
Я пробовал несколько разных настроек в моем файле karma.conf.js.
В настоящее время я пытался использовать phantomJS на сервере jenkins.
Это моя карма.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-phantomjs-launcher'),
require('karma-jasmine-html-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma')
],
client: {
clearContext: false
},
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: ['PhantomJS'],
singleRun: false
});
};
Я также добавил karma-phantomjslauncher в devDependencies
"karma-phantomjs-launcher": "^1.0.4",
Я получаю следующий вывод консоли от Дженкинса:
PhantomJS 2.1.1 (Linux 0.0.0) ERROR
{
"message": "TypeError: undefined is not a function (evaluating 'new Array(type.length).fill(undefined)')\nat
http://localhost:9876/_karma_webpack_/vendor.js:60532:43",
"str": "TypeError: undefined is not a function (evaluating 'new Array(type.length).fill(undefined)')\nat
http://localhost:9876/_karma_webpack_/vendor.js:60532:43"
}
Понятия не имею, как это исправить, кто-нибудь знает, где мои настройки неверны?