背景:我正在开发一个Angular项目,使用Jasmine + Karma运行单元测试。
问题: 我有一个测试,A。
当我在A的测试套件上使用fdescribe
时,A 通过,所有其他测试都被跳过。
但是,当我仅使用describe
运行A的测试套件时,它会失败。
此外,我有一个测试B失败了。
这已经发生了两次:
我在A上将fdescribe
更改为describe
-其他测试都没有fdescribe
。
我将xdescribe
放在了B的测试套件上。
我运行测试一次:测试完全终止 测试B,该测试失败。
我第二次运行测试:行为相同。
我第三次运行测试:我的测试一直运行到整个,然后
我是否缺少fdescribe
和xdescribe
的细微差别?我在xdescribe
中进行的测试仍然(有时)失败,并导致以后的测试无法运行。同时,如果删除fdescribe
,则通过f
的测试将失败。
如果相关,则两个测试均失败并显示错误:
"Uncaught SyntaxError: Failed to execute 'open' on 'XMLHttpRequest': Invalid URL thrown".
当然,最终目标是修复此错误,但是当它根据套件前缀不断消失时,这很难做到(当然,弄清楚前缀的含义是此问题的重点) )。
我很乐意提供更多信息,但是我不确定首先要包含哪些信息。而且,我真的无法共享有关代码本身的详细信息,并且如果需要有关该代码的重要信息,很遗憾,我可能无法提供它们。
答案 0 :(得分:0)
我遇到了这个完全相同的问题。我发现可能发生了几件事之一。
异步处理不正确,因此有时数据设置不正确,而其他时候则不正确。
如果使用本地存储,异步数据可能会存在相同的问题。
测试未正确隔离,并且在一个测试中进行了某些更改,然后影响以后的测试。单独运行测试可以消除这种情况。