我正在Angular 7中进行应用程序,我大约进行了50项测试。这些通过了我的机器。 我的目标是确保构建最新版本的应用程序并在Jenkins上运行测试。
我认为Jenkins服务器在Linux上运行。 我正在使用以下命令来执行测试:
npm install
ng test --watch=false --code-coverage
我在karma.conf.js文件中尝试了多种不同的设置。 我目前尝试在jenkins服务器上使用phantomJS。 这是我的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-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
});
};
我还在devDependencies中添加了karma-phantomjslauncher
"karma-phantomjs-launcher": "^1.0.4",
我从Jenkins获得以下控制台输出:
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"
}
我不知道如何解决此问题,有人知道我的设置有误吗?