Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angularjs – 使用jasmine对karma执行10次以上的测试会导致:“错误:你的一些测试会重新加载整页!”大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以,这是我的第一个项目,我正在使用Karma和Jasmine对我的angularJS代码进行单元测试.使用Yeoman角度发生器进行设置.

一旦我进行了11次测试,我就会收到一条错误消息“您的某些测试会进行整页重新加载”.我没有做任何会触发重载的测试.

深入挖掘我看到Github上引用了同样的问题.
https://github.com/jasmine/jasmine/issues/366 – (FuzzySockets评论)

问题似乎源于jasmine-core中的一行代码
https://github.com/jasmine/jasmine/blob/master/lib/jasmine-core/jasmine.js

为了避免堆栈溢出,maximumSpecCallBACkDepth设置为20.每当currentSpecCallBACkDepth超过该值时,使用setTimout函数在新堆栈上执行进一步的测试.

这条线似乎会导致问题并使业力抛出错误. (我已经通过在我自己的单元测试中调用setTimeout方法验证了这一点,并且它抛出了相同的错误).

如果将maximumSpecCallBACkDepth更改为100,我的测试运行正常,并且最后不会抛出任何错误

有没有人看过这个问题并知道修复?我正在使用最新版本的业力(0.13.15)和茉莉(2.4.1).

我没有真正搞乱使用自动生成认grunt或karma配置,除了我使用chrome启动器而不是认的phantomJS,所以我不明白其他人是如何面对的同样的问题在这里.

解决方法

1对于这个问题.正如你所说,它是由maximumSpecCallBACkDepth限制造成的,但到目前为止我没有找到解决这个问题的方法.你可能在这里跟踪问题 https://github.com/karma-runner/karma/issues/1101.

一个临时解决方案是减少项目中嵌套的“describe”块.

大佬总结

以上是大佬教程为你收集整理的angularjs – 使用jasmine对karma执行10次以上的测试会导致:“错误:你的一些测试会重新加载整页!”全部内容,希望文章能够帮你解决angularjs – 使用jasmine对karma执行10次以上的测试会导致:“错误:你的一些测试会重新加载整页!”所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。