Тесты кармы проваливаются только в процессе сборки - PullRequest
0 голосов
/ 26 марта 2020

У меня проблема с некоторыми неудачными тестами, это будет единственной ошибкой, которую я получаю: ОБНОВЛЕНИЕ:

   + yarn test:customer:jenkins
yarn run v1.16.0
$ ng test aok-customer-lib --code-coverage --configuration=jenkins
[32m26 03 2020 14:26:10.284:INFO [karma-server]: [39mKarma v4.3.0 server started at http://0.0.0.0:9876/
[32m26 03 2020 14:26:10.296:INFO [launcher]: [39mLaunching browsers ChromeHeadless with concurrency unlimited
[91m26 03 2020 14:26:10.477:ERROR [launcher]: [39mCannot load browser "ChromeHeadless"!
  RangeError: Maximum call stack size exceeded
    at String.match (<anonymous>)
    at /home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/annotation.js:30:17
    at Array.map (<anonymous>)
    at parse (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/annotation.js:29:42)
    at Array.invoke (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:69:46)
    at Injector.get (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:48:43)
    at module.(anonymous function) (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/karma/lib/config.js:253:64)
    at Array.invoke (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:75:15)
    at Injector.get (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:48:43)
    at module.(anonymous function) (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/karma/lib/config.js:253:64)
    at Array.invoke (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:75:15)
    at Injector.get (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:48:43)
    at module.(anonymous function) (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/karma/lib/config.js:253:64)
    at Array.invoke (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:75:15)
    at Injector.get (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/di/lib/injector.js:48:43)
    at module.(anonymous function) (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/karma/lib/config.js:253:64)
[91m26 03 2020 14:26:10.478:ERROR [karma-server]: [39mError: Found 1 load error
    at Server.webServer.listen (/home/jenkins/agent/workspace/tmp_frontend_compile/node_modules/karma/lib/server.js:192:27)
    at Object.onceWrapper (events.js:286:20)
    at Server.emit (events.js:203:15)
    at emitListeningNT (net.js:1314:10)
    at process._tickCallback (internal/process/next_tick.js:63:19)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

И я попробовал дюжину конфигов, и теперь у меня много флагов и, возможно, не очень полезных вещей в моем файле кармы:

    // Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html

module.exports = function(config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-coverage'),
      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
      jasmine: {
        random: false
      }
    },
    reporters: ['progress', 'kjhtml', 'coverage-istanbul', 'dots'],
    coverageIstanbulReporter: {
      dir: require('path').join(__dirname, '../../coverage/aok-customer-lib'),
      reports: ['lcov', 'cobertura', 'text-summary'],
      thresholds: {
        statements: 80,
        lines: 80,
        branches: 60,
        functions: 80
      }
    },
    files: [
      { pattern:'https://js.api.here.com/v3/3.1/mapsjs-core.js', watched: false, included: false, served: false }
      ],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,
    browsers: ['ChromeHeadless'],
    customLaunchers: {
      ChromeHeadless: {
        base: 'ChromeHeadless',
        flags: [
          '--headless',
          '--no-sandbox',
          '--no-gpu',
          '--remote-debugging-port=9876',
          '--enable-logging',
          '--v=1'
        ]
      }
    },
    singleRun: false
  });
};

Здесь выполняется около 600-700 тестов, а в процессе сборки еще 1000i sh из других файлов проекта, которые не терпеть неудачу, только у этого есть проблемы. Любые идеи будут оценены.

...