Почему сборка Angular 8 CircleCI завершается неудачно при выполнении теста ng --watch-false с кармой, настроенной на singleRun = true? - PullRequest
0 голосов
/ 22 января 2020

Я мигрирую проект с открытым исходным кодом, WUF , с Angular@7.2.0 до @ 8.2.14; его конвейер CircleCI CI / CD, WUF , который отлично работал на Angular@7.2.0, теперь не работает после перехода на Angular@8.2.14 при попытке выполнить модульные тесты; тесты проходят, а затем терпят неудачу при попытках сборки, которые затем запускаются несколько раз.

Я строю на ветви FM-736-ng8.

Соответствующая часть CircleCI config.yml :

         - run:
          name: Test WUF
          command: |
             ng test --watch=false --karmaConfig=src/karma.conf.circleci.js

Файл конфигурации кармы, karma.conf.circleci. js, содержит флаг для однократного выполнения теста и остановки, при этом, похоже, не имеет никакого эффекта. Опять же, все отлично работало на Angular@7.2.0, теперь происходит сбой после перехода на Angular@8.2.14.

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

  • Начало сборки:

    0% компиляции 10% модулей сборки 0/0 0 активных

Цитата

10% building 0/0 modules 0 active
10% building 0/1 modules 1 active multi /root/wuf/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js/root/wuf/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-jit-polyfills.js/root/wuf/src/polyfills.ts
10% building 1/1 modules 0 active
10% building 1/1 modules 0 active
10% building 1/2 modules 1 active multi /root/wuf/src/polyfills.ts/root/wuf/node_modules/@angular-devkit/build-angular/src/angular-cli files/models/jit-polyfills.js
10% building 2/2 modules 0 active
10% building 2/2 modules 0 active
10% building 2/3 modules 1 active multi /root/wuf/src/styles.scss/root/wuf/src/assets/dummydata/branding/branding.scss
10% building 3/3 modules 0 active START:
10% building 3/4 modules 1 active /root/wuf/node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/es5-polyfills.js
10% building 4/4 modules 0 active
...
  • Конец первого запуска тестового модуля:
HomeComponent
    + should create
    Layout
      + should have a view component
      + should have a header component
      + should have a content component
      + should have a footer component
  I18nAngularComponent
    + should create
    + should have cardinality paragraph showing 'no wolves'
    + should have gender paragraph
    + should have gender paragraph showing 'female.'
    + should have pluralization paragraph
    + should have pluralization paragraph showing 'has no wolves.'
  I18nNgxTranslateComponent
    + should create
    + should create 

Finished in 5.459 secs / 5.426 secs @ 00:50:40 GMT+0000 (Coordinated Universal Time)

SUMMARY:
+ 68 tests completed
# 1 test skipped

0% compiling
10% building 0/0 modules 0 active

Обратите внимание, как тесты заканчиваются, проходят и повторно запускаются. Если вы посмотрите на журнал, вы увидите, что это повторяется много раз, пока CircleCI не уничтожит его.

Ожидаемое поведение - модульные тесты запускаются один раз и останавливаются!

1 Ответ

0 голосов
/ 28 января 2020

Это неловко! У меня есть проект моно-репо, состоящий из ряда npm packages и application, демонстрирующих их. При запуске модульных тестов с использованием ng test тесты прекращаются после запуска тестов приложений, без запуска тестов пакетов.

При запуске модульных тестов с использованием ng test --watch false запускаются тесты приложений, а затем запускаются тесты пакетов. ; Я неверно истолковал ошибки пакета как ошибки тестирования приложения.

Моя ошибка заключалась в том, что я смотрел на проблемы, над которыми я работал, тесты приложения, а не на области, отличные от моей первоначальной цели. Довольно неловко, но факт.

...