我需要使用什么设置来确保Jenkins自动运行我的单元测试?

时间:2019-01-09 15:55:50

标签: angular unit-testing jenkins continuous-integration

我正在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"
  }

我不知道如何解决此问题,有人知道我的设置有误吗?

0 个答案:

没有答案