angularjs – 使用jasmine对karma执行10次以上的测试会导致:“
所以,这是我的第一个项目,我正在使用Karma和Jasmine对我的angularJS代码进行单元测试.使用Yeoman角度发生器进行设置.
一旦我进行了11次测试,我就会收到一条错误消息“您的某些测试会进行整页重新加载”.我没有做任何会触发重载的测试. 深入挖掘我看到Github上引用了同样的问题. 问题似乎源于jasmine-core中的一行代码 为了避免堆栈溢出,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”块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |