如何在 Angular 6 单元测试中调试 HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR { "isTrusted": true }?
How to debug HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR { "isTrusted": true } in Angular 6 unit test?
当我 运行 我的测试套件时,我在一个与我一直在使用的完全不同的单元测试中遇到错误。我做错了什么?
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
如果我注释掉某些测试,比如在 class A 中,另一个测试在组件 B 中失败。如果我注释掉那些,另一个测试在组件 C 中失败。None 最近更新了这些测试,因此 none 应该会失败。
我在看到有人把这个问题归咎于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,
我确实通过删除 node_modules 文件夹并重新安装它以及回滚两个提交的单元测试来解决这个问题。我仍然不确定是什么原因导致此问题或为什么卸载并重新安装 node_modules 文件夹有效。但它确实有效。
编辑: 我还注意到,当我进行两个具有相同描述的单元测试时,此错误再次出现。同样,我不确定这是否是唯一原因,但更改单元测试描述似乎也解决了这个问题。我希望该错误更具描述性。
进一步编辑:问题仍然经常发生,答案中列出的问题 none 存在。
当我 运行 我的测试套件时,我在一个与我一直在使用的完全不同的单元测试中遇到错误。我做错了什么?
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
如果我注释掉某些测试,比如在 class A 中,另一个测试在组件 B 中失败。如果我注释掉那些,另一个测试在组件 C 中失败。None 最近更新了这些测试,因此 none 应该会失败。
我在
如何调试和修复这个 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,
我确实通过删除 node_modules 文件夹并重新安装它以及回滚两个提交的单元测试来解决这个问题。我仍然不确定是什么原因导致此问题或为什么卸载并重新安装 node_modules 文件夹有效。但它确实有效。
编辑: 我还注意到,当我进行两个具有相同描述的单元测试时,此错误再次出现。同样,我不确定这是否是唯一原因,但更改单元测试描述似乎也解决了这个问题。我希望该错误更具描述性。
进一步编辑:问题仍然经常发生,答案中列出的问题 none 存在。