Как отладить HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR { "isTrusted": true } в модульном тесте Angular 6?
Когда я запускаю свой набор тестов, я получаю ошибку в совершенно ином модульном тесте, чем тот, в котором я работал. Что я делаю не так?
HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR
{
"isTrusted": true
}
Затем следуют некоторые шаги сборки и следующая ошибка во время выполнения теста:
HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR
An error was thrown in afterAll
[object ErrorEvent] thrown
Если я закомментирую определенные тесты, скажем, в классе A, другой компонент не пройдёт проверку в Компоненте B. Если я закомментирую эти тесты, произойдет сбой другого теста в Компоненте C. Ни один из этих тестов не был обновлен в последнее время, поэтому ни один из них не должен быть неудачным.
В этом вопросе я увидел, что некоторые люди связывают эту проблему с папкой node_modules. Тем не менее, я просто смягчил аналогичную проблему, переустановив папку node_modules вчера. Это распространенная ошибка? Возможно, это не тот случай, когда разработчики должны последовательно удалять и переустанавливать папку node_modules. Должно быть, я сделал что-то не так, но все, что я делал, это юнит тестирование, как обычно
Как я могу отладить и исправить ошибку Headless Chrome, чтобы вернуться к модульному тестированию?
Вот некоторые статистические данные о моем окружении:
Соответствующие версии зависимостей:
"@angular/cli": "6.0.8",
"@angular/compiler-cli": "6.0.6",
"@angular/language-service": "6.0.6",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"ng-diff-match-patch": "^2.0.6",
"protractor": "~5.1.2",
"ts-node": "~3.2.0",
"tslint": "~5.7.0",
"typescript": "2.7.2",
"@angular-devkit/build-angular": "~0.6.8"
Соответствующие настройки Karma.conf:
reporters: ['progress', 'kjhtml'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['ChromeHeadless'],
singleRun: false,
customLaunchers: {
ChromeHeadless: {
base: 'Chrome',
flags: [
'--headless',
// '--disable-gpu',
'--no-sandbox',
// Without a remote debugging port, Google Chrome exits immediately.
'--remote-debugging-port=9222',
],
}
},
browserDisconnectTolerance: 8,
browserNoActivityTimeout: 60000,
browserDisconnectTimeout: 20000,
1 ответ
На самом деле я решил эту проблему, удалив папку node_modules и переустановив ее, а также откатив на две коммиты юнит-тесты. Я до сих пор не уверен, что вызывает эту проблему или почему работает удаление и переустановка папки node_modules. Но на самом деле это сработало.
РЕДАКТИРОВАТЬ: Я также отметил, что эта ошибка снова появилась, когда у меня было два модульных теста с одинаковым описанием. Опять же, я не уверен, что это была единственная причина, но изменение описаний модульных тестов, похоже, также помогло. Я хотел бы, чтобы ошибка была немного более описательной.
ДОПОЛНИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: Проблема все еще возникает регулярно, и ни одна из проблем, перечисленных в ответе, отсутствует.