【发布时间】:2019-05-14 19:45:28
【问题描述】:
我的 Angular 7 应用有一套 Karma/Jasmine 测试。我所有的测试都在 Chrome 和 Firefox 中通过,但是当我在 Edge 中运行它们时,它会运行一段时间,然后有时它会随机重新加载页面并重新开始,有时它会再次将业力加载到 iframe 中,因此“加倍”它。
这就是它的样子
但是,当我单击“调试”按钮时,它会打开一个新选项卡,并且所有测试都在其中运行良好,没有失败。
这就是我的控制台输出的样子。你可以看到它运行了一些测试,然后重新启动它们
这是怎么回事?
为什么在没有测试失败的情况下它会在 Edge 中出现这种行为?
【问题讨论】:
-
如果您告诉 Karma 只运行一次测试会发生什么。现在,我假设您正在使用手表功能。
-
我关闭了
restartOnFileChange,同样的事情发生了。当我关闭autoWatch时,没有任何反应,根本没有运行任何测试。是的,有导航测试,但所有这些都被嘲笑以避免发生这个问题。同样,所有测试在其他浏览器和 Edge 的 Karma 调试视图中通过。 -
我怀疑这是您的源代码的边缘支持问题。无论出于何种原因,重新启动都是代码中的错误的副产品。我找不到任何与此相近的 Karma 未解决问题。开始缩小哪些测试重现问题。另一种选择是放弃Edge。这里没有人会责怪你。
-
哈哈,那好吧。我想我会检查并
fdescribe每个套件,直到找到导致它的原因。我怀疑你是对的,但只有时间会证明...... -
您可能想先尝试添加更多的 polyfill。推荐的并不总是足够的。如果你在
node_modules包中查找 polyfill。您会看到可以添加更多内容。尝试添加所有这些,看看是否可以解决问题,然后缩小现在需要的范围。
标签: angular karma-jasmine karma-runner angular-test