При тестировании углового приложения с использованием CircleCI я получаю ELIFECYCLE с кодом ошибки 1 для NPM.Он останавливается, когда он пытается убить браузер ChromeHeadLeass.
Пока я пробовал:
1) Добавление определенной конфигурации в Karma:
...
browsers: ['Chrome', 'ChromeHeadless', 'ChromeHeadlessCI'],
browserDisconnectTimeout: 10000,
browserDisconnectTolerance: 3,
browserNoActivityTimeout: 60000,
customLaunchers: {
ChromeHeadlessCI: {
base: 'ChromeHeadless',
flags: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu']
}
},
...
2) Локально запускать cg-компоненты теста npm - --no-watch --no-progress --browsers = ChromeHeadlessCI 'локально.Он не открывает браузер, и все модульные тесты выполняются.
Я запускаю модульные тесты для Angular Project, в котором есть библиотека и другие приложения (каждое из которых имеет свои собственные модульные тесты).
Это мой файл config.yml:
version: 2
job_defaults: &job_defaults
docker:
- image: circleci/node:latest
environment:
CHROME_BIN: /usr/bin/google-chrome
working_directory: ~/cg-front-end
cache_key: &cache_key cg-front-end-deps-cache-{{ .Branch }}-{{ checksum "package-lock.json" }}
dist_key: &dist_key cg-front-end-dist-{{ .Revision }}
jobs:
npm-install:
<<: *job_defaults
steps:
- checkout
- restore_cache:
key: *cache_key
- run:
name: npm-install
command: npm ci
- save_cache:
key: *cache_key
paths:
- node_modules
test-lib:
<<: *job_defaults
steps:
- checkout
- restore_cache:
key: *cache_key
- run:
name: test-lib
command: npm run test cg-components -- --no-watch --no-progress --browsers=ChromeHeadlessCI
build-lib:
<<: *job_defaults
steps:
- checkout
- restore_cache:
key: *cache_key
- run:
name: build-lib
command: npm run build cg-components --prod
- save_cache:
key: *dist_key
paths:
- dist
test-app:
<<: *job_defaults
steps:
- checkout
- restore_cache:
key: *cache_key
- restore_cache:
key: *dist_key
- run:
name: test-app
command: npm run test fmvmd-client-front-end -- --no-watch --no-progress --browsers=ChromeHeadlessCI
workflows:
version: 2
build-test-release:
jobs:
- npm-install
- test-lib:
requires:
- npm-install
- build-lib:
requires:
- test-lib
- test-app:
requires:
- build-lib
filters:
branches:
only: master