Karma 断开连接,因为 10000 毫秒内没有消息

Karma Disconnected, because no message in 10000 ms

Karma 测试套件失败并显示消息:

Disconnected, because no message in 10000 ms.

根本没有执行任何测试。

"@angular/core": "7.1.3",
"jasmine-core": "3.3.0",
"karma-jasmine": "1.1.2",

没有明显的失败原因,它是在引入新测试后才开始的。

tsconfig.spec.json 中 TypeScript 的 --module 编译器选项设置为 commonjs Karma 在执行任何测试之前在内部失败并显示上面的超时错误。

导入排序会让 Karma 失败:

import CustomerTypeEnum = CustomerDto.CustomerTypeEnum;
import {CustomerDto} from '../api/CustomerDto';

虽然此订单按预期工作:

import {CustomerDto} from '../api/CustomerDto';
import CustomerTypeEnum = CustomerDto.CustomerTypeEnum;

这个问题也可以通过将模块编译器选项更改为例如es2015.

您可以在需要比 jasmine 默认时间更长的时间的地方添加它。

  beforeEach(async(() => {
    jasmine.DEFAULT_TIMEOUT_INTERVAL = <whatever time your test need to complete>;
  }));

如果这不起作用,您也可以检查此答案。

我遇到了同样的问题并尝试了所有方法 - 除了将此选项添加到我的 karma.conf.js:

之外没有任何效果
browserNoActivityTimeout: 400000

我在 Chrome 85.0.4183 上遇到了类似的问题。 我不知道为什么 Karma 与浏览器失去连接,我得到 “断开连接,因为 30000 毫秒内没有消息。”

我已将此添加到 Karma.conf:

captureTimeout: 210000,
browserDisconnectTolerance: 3, 
browserDisconnectTimeout : 210000,
browserNoActivityTimeout : 210000

现在可以使用了,希望对您有所帮助

我失败了,因为我在我的组件中设置了 window.location.href,但是测试 运行 只是随机挂起,而不是在我的组件测试中失败。

检查karma的日志,当测试文件出现编译错误时,karma服务器return是一个超时错误而不是真正的错误