Jasmine Angular 测试有时通过有时不通过,具体取决于 Describe 前缀

Jasmine Angular Tests Sometimes Pass and Sometimes Do Not, Depending on Describe Prefix

背景:我正在做一个 Angular 项目,使用 Jasmine + Karma 进行 运行 单元测试。

问题: 我有一个测试,A.

当我在 A 的测试套件上使用 fdescribe 时,A 通过了 ,并且跳过了所有其他测试。

但是,当我 运行 A 的测试套件仅使用 describe 时,它 失败了


此外,我有一个测试 B 失败了。

现在已经发生了两次:

我将 A 上的 fdescribe 更改为 describe - 没有其他测试 fdescribe。 我把 xdescribe 放在 B 的测试套件上。


我是否遗漏了 fdescribexdescribe 的一些细微差别?我在 xdescribe 中的测试仍然(有时)失败,并导致以后的测试无法 运行。同时,当删除 f 时,通过 fdescribe 的测试失败。

如果相关,则两个测试都失败并出现错误:

"Uncaught SyntaxError: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL thrown".

当然,最终目标是修复此错误,但事实证明,当它根据套件前缀不断消失时很难做到(可以肯定的是,弄清楚前缀是怎么回事是这个问题)。

我很乐意包含更多信息,但我不确定首先包含哪些信息会有帮助。此外,我真的无法分享有关代码本身的详细信息,如果需要相关的重要详细信息,很遗憾,我可能无法提供它们。

我 运行 遇到了这个完全相同的问题。我发现可能会发生以下几种情况之一。

  1. 某些异步处理没有得到正确处理,因此数据有时设置正确,有时却不正确。

  2. 如果您使用的是本地存储,异步数据也可能存在同样的问题。

  3. 测试未正确隔离,并且在一个测试中更改了某些内容,然后影响了以后的测试。 运行测试单独排除了这个