当我运行测试套件时,我在与我一直在使用的单元测试完全不同的单元测试中遇到错误。我做错了什么?
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 中的另一个测试会失败。这些测试最近都没有更新,所以它们都不应该失败。
我看到在这个问题 https://stackoverflow.com/questions/45722256/how-do-i-debug-a-object-errorevent-thrown-error-in-my-karma-jasmine-tests有些人将此问题归因于 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,