【问题标题】:Jasmine + Karma tests fail at a specific test countJasmine + Karma 测试在特定测试计数时失败
【发布时间】:2023-03-06 23:56:01
【问题描述】:

昨天在进行 Jasmine 测试时遇到了一个非常奇怪的问题(通常无头运行,但可以在 Chrome 中调试)。当我达到特定的总测试计数 (678) 时,通常通过的测试似乎失败了,但是当我拥有更多的时候,它又成功了。我减少了测试的数量,因此我只运行了一个测试套件,并且可以在 177 次测试中重现相同的问题,我通过进行一个非常简单的非失败测试并多次重复它来做到这一点。

我没有看到任何其他问题(即页面重新加载错误),更奇怪的是,据称失败的测试与 Jasmine 作为违规行吐出的行号不匹配(实际上是以下测试)。当我手动执行这些操作时,很明显间谍被调用了,我相信我正确处理了异步内容,因为代码涉及承诺。

我知道这不是很具体,但我很好奇是否有人以前遇到过这个问题,并且有关于如何继续调试的想法?

【问题讨论】:

  • 显示测试。很可能没有正确处理异步内容。测试的数量只是导致一些特定的计时状态。
  • 是的,我想可能也是这样,大约一个小时前才设法修复它!

标签: unit-testing jasmine karma-jasmine


【解决方案1】:

得出了与 Sulthan 在上面的评论中所做的相同的结论,但在一些涉及异步的测试中,当我调用我的 expects 时,与我调用 done() 的位置有关,结果证明这是一个问题电话/承诺。似乎将运行的测试数量会产生最终暴露这些问题的时间问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多