我在Windows 10上运行Karma、Jasmin和Instanbul,并针对ChromeHeadless、FireFoxHeadless和MS Edge进行测试。
所有测试都运行得很好,覆盖率输出也编写完成了。但是。。。Firefox从不关闭。我收到以下错误:WARN [launcher]: Firefox was not killed in 2000 ms, sending SIGKILL.
- 如果我不使用Firefox进行测试,一切都很好
- 如果我不使用覆盖范围,一切都很好
- 如果我让Firefox成为非无头的,那么它仍然会以同样的方式失败
- 如果我使用JUST Firefox,它仍然会以同样的方式失败
我花了两个多星期的时间试图在StackOverflow和整个互联网上找到答案。也有类似的问题报道,但没有人对Firefox和Coverage有明确的答案。
太棒了!!!!!!!我想明白了
我问了某人一个问题,他们的回答让我思考超时问题,我在karma.conf.js
文件中更改了以下值,现在它可以工作了:
browserDisconnectTimeout: 10000,
browserDisconnectTolerance: 1,
processKillTimeout: 100000,
覆盖率报告似乎花费了太长时间,只要延长超时时间就可以正常工作。默认超时为2000ms。
似乎与Firefox相关的东西需要更长的时间来编写Firefox覆盖范围文件,这需要超过2000毫秒的时间。这导致了我看到的错误。
增加超时时间可以使所有内容都被写入,Firefox也可以正确关闭。