Выполнение углового модульного теста в докере - Невозможно загрузить браузер RangeError: Превышен максимальный размер стека вызовов - PullRequest
0 голосов
/ 28 января 2019

У меня проблема с запуском юнит-тестов для углового проекта внутри док-контейнера.Я прошел через все, что я могу придумать, но, похоже, не могу найти проблему.Эти тесты нормально работают вне докера с использованием тех же команд.

Я использую узел: 11.8.0-alpine с последней версией хрома

Я получаю следующую ошибку:

ОШИБКА [лаунчер]: не удается загрузить браузер "ChromeHeadless"!RangeError: Максимальный размер стека вызовов превышен в String.match () в /ng-app/node_modules/di/lib/annotation.js:30:17 в Array.map () при синтаксическом анализе (/ ng-app / node_modules / di /lib / annotation.js: 29: 42) в Array.invoke (/ng-app/node_modules/di/lib/injector.js:69:46) в Injector.get (/ ng-app / node_modules / di / lib /injector.js: 48: 43) в модуле (анонимная функция) (/ng-app/node_modules/karma/lib/config.js:249:64) в Array.invoke (/ ng-app / node_modules / di / lib)/injector.js:75:15) в Injector.get (/ng-app/node_modules/di/lib/injector.js:48:43) в модуле. (анонимная функция) (/ ng-app / node_modules / karma /lib / config.js: 249: 64) в Array.invoke (/ng-app/node_modules/di/lib/injector.js:75:15) в Injector.get (/ ng-app / node_modules / di / lib /injector.js: 48: 43) в модуле (анонимная функция) (/ng-app/node_modules/karma/lib/config.js:249:64) в Array.invoke (/ ng-app / node_modules / di / lib)/injector.js:75:15) в Injector.get (/ng-app/node_modules/di/lib/injector.js:48:43) в модуле. (анонимная функция) (/ ng-app / node_modules / karma / lib / config.js: 249: 64) 28 01 2019 20: 34: 52.281: ОШИБКА [сервер-карма]: ошибка: обнаружена 1 ошибка загрузки на сервере Server.webServer.listen (/ ng-app / node_modules / karma /lib / server.js: 182: 27) в Object.onceWrapper (events.js: 285: 13) в Server.emit (events.js: 202: 15) в emitListeningNT (net.js: 1290: 10) в processTicksAndRejected (internal / process / next_tick.js: 76: 17) Невозможно прочитать свойство 'success' из неопределенного TypeError: Невозможно прочитать свойство 'success' из неопределенного в TestCommand.runSingleTarget (/ ng-app / node_modules / @ angular / cli / models / packages/angular/cli/models/architect-command.ts:242:21) в processTicksAndRejections (внутренняя / process / next_tick.js: 81: 5) Ошибка сегментации

Ниже приведен мой конфигурационный файл кармы:

module.exports = function (config) {
  config.set({
    basePath: '',
    frameworks: ['jasmine', '@angular-devkit/build-angular'],
    plugins: [
      require('karma-jasmine'),
      require('karma-chrome-launcher'),
      require('karma-junit-reporter'),
      require('@angular-devkit/build-angular/plugins/karma')
    ],
    client: {
      clearContext: false // leave Jasmine Spec Runner output visible in browser
    },
    junitReporter: {
      outputDir: '/test-reports', // results will be saved as $outputDir/$browserName.xml
      outputFile: 'junit-report.xml', // if included, results will be saved as $outputDir/$browserName/$outputFile
      suite: '', // suite will become the package name attribute in xml testsuite element
      useBrowserName: false, // add browser name to report and classes names
    },
    reporters: ['junit'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: false,
    browserNoActivityTimeout: 60000,
    browsers: ['ChromeHeadless'],
    customLaunchers: {
      ChromeHeadless: {
        base: 'ChromeHeadless',
        flags: [
          '--disable-web-security',
          '--disable-gpu',
          '--no-sandbox'
        ]
      }
    },
    singleRun: true
  });
};

Версии:

"jasmine-core": "~3.3.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"karma-junit-reporter": "^1.2.0",
"@angular-devkit/build-angular": "~0.12.2",
"@angular/cli": "^7.2.3",
"@angular/compiler-cli": "^7.2.2",
...