Карма Тест С угловым 6 - PullRequest
       28

Карма Тест С угловым 6

0 голосов
/ 08 октября 2018

Я пытаюсь запустить проверку углов, используя npm

ng test

, но проблема в том, что хром запускается, а не останавливается после завершения теста, поэтому я использовал:

ng test --watch=false

но это приводит к ошибке "Chrome 69.0.3497 (Linux 0.0.0) ERROR", из-за которой возникает тайм-аут chrome. Я пытаюсь запустить это на сервере непрерывного развертывания, поэтому эта ошибка приводит к сбою в процессе, и возникает идея, как это остановить

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Вы можете избежать этого в Unix-системах, используя Headless Chrome

Это способ запуска браузера Chrome в автономной среде.По сути, работает Chrome без хрома!Он объединяет все возможности современной веб-платформы, предоставляемые Chromium и механизмом рендеринга Blink, в командную строку.

first:
настройте karma.conf.js для использования безголового хрома, напримердобавление customLaunchers:

...
browsers: ['Chrome'],
customLaunchers: {
    ChromeNoSandboxHeadless: {
       base: 'ChromeHeadless',
       flags: ['--no-sandbox']
    }
 }, 

секунда: указать вашему скрипту package.json использование вашей конфигурации для тестирования:

"scripts": {
   ...
    "test": "ng test --browsers=ChromeNoSandboxHeadless",
   ...
  },

, затем запустить npm run testили yarn test и ваши тесты будут работать без открытия вашего браузера.Вы можете открыть отображаемое url в предпочитаемых вами браузерах (Firefox, Chrome, Chromium и т. Д.).

Второй способ: Вы можете отобразить все свои тестовые примеры в консоли, используя Карма-мокко-репортер

  • Первый: установить npm install karma-mocha-reporter --save-dev
  • Второй: требуется ваш репортер внутри karma.conf.js в plugins как require('karma-mocha-reporter'),

Затем добавьте новый репортер mocha в массив репортеров: reporters: ['mocha', 'progress', 'kjhtml']

Запустите тест с помощью npm run test или yarn test отобразит отчет в вашей консоли.

другим способом:

в вашем karma.config.json взгляните на опцию singleRun (булево значение по умолчанию установлено на false).Установите true, Karma запустит и запишет все настроенные браузеры, запустит тесты, а затем завершит работу с кодом выхода 0 или 1, в зависимости от того, все тесты пройдены или какие-либо тесты не пройдены.Альтернативно, запустите его, используя флаг npm run test --single-run.

0 голосов
/ 08 октября 2018

В вашем karma.conf.js измените singleRun на true.

singleRun: true
...