gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 13:39:35 25 4
gpt4 key购买 nike

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

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

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

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

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

这已经发生了两次:

我换fdescribedescribe在 A- 没有其他测试 fdescribe .
我把xdescribe在 B 的测试套件上。

  • 我运行了一次测试:测试在到达时完全终止
    测试 B,失败。
  • 我第二次运行测试:相同的行为。
  • 我第三次运行测试:我的测试一直运行,并且
  • A 失败(如上所述)
  • B 报告为已跳过(但打印出相同的错误消息)


  • 我是否错过了 fdescribe 的一些细微差别和 xdescribe ?我在 xdescribe 内的测试仍然(有时)失败,并导致以后的测试无法运行。同时,通过 fdescribe 的测试失败时 f已移除。

    如果相关,则两个测试都失败并显示错误:
    "Uncaught SyntaxError: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL thrown".
    当然,最终目标是修复这个错误,但事实证明,当它根据套件前缀不断消失时,这很难做到(当然,弄清楚前缀发生了什么是这个问题的重点)。

    我很高兴包含更多信息,但我不确定首先包含哪些信息会有所帮助。此外,我处于这样一种情况,我真的无法分享有关代码本身的详细信息,如果需要有关此的重要细节,很遗憾,我可能无法提供它们。

    最佳答案

    我遇到了这个完全相同的问题。我发现可能发生了几件事情之一。

  • 一些异步的东西没有被正确处理,因此数据有时被正确设置,而在其他时候则不是。
  • 如果您正在使用本地存储,则异步数据可能存在相同的问题。
  • 测试没有正确隔离,并且在一个测试中发生了一些变化,然后会影响以后的测试。单独运行测试可以消除这种情况。
  • 关于angular - Jasmine Angular 测试有时通过有时不通过,具体取决于 Describe 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59429331/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com