如何调试Angular 6单元测试中的HeadlessChrome 0.0.0(Linux 0.0.0)错误{“isTrusted”:true}?

如何调试Angular 6单元测试中的HeadlessChrome 0.0.0(Linux 0.0.0)错误{“isTrusted”:true}?,angular,unit-testing,jasmine,karma-jasmine,karma-runner,Angular,Unit Testing,Jasmine,Karma Jasmine,Karma Runner,当我运行我的测试套件时,我在一个完全不同的单元测试中得到一个错误,而不是我一直在使用的单元测试。我做错了什么 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] throw

当我运行我的测试套件时,我在一个完全不同的单元测试中得到一个错误,而不是我一直在使用的单元测试。我做错了什么

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文件夹。我肯定做错了什么,但我所做的只是像往常一样进行单元测试

如何调试和修复此无头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文件夹有效。但事实上它确实起了作用

编辑:我还注意到,当我有两个相同描述的单元测试时,这个错误再次出现。同样,我不确定这是否是唯一的原因,但改变单元测试描述似乎也解决了这个问题。我希望这个错误更具描述性


进一步编辑:问题仍然定期出现,并且答案中列出的问题都不存在。

对此有任何更新,或者您是否能够解决问题?我没有。我相信,当source-maps标志设置为true时,这种情况会发生得更多:
--source-map=true
。但是,除此之外,我没有线索。您可以尝试在
--source map=true
--source map=false
之间切换,以检查是否存在源映射标志由于某种原因而隐藏的任何隐藏错误,或者错误是否在其中一种情况下消失。如果你发现更多信息,请在这里发布,这样我也可以了解更多关于这个问题的信息。嗯,我根本没有那个标志。如果我们有什么发现,我会告诉你的。