AngularJS Karma单元测试内存泄漏问题

4
我们目前正在进行一个涉及2500个Jasmine测试用例的AngularJS项目。我们使用谷歌浏览器以及karma-ng-html2js-preprocessor来预处理我们的模板。我们现在遇到的问题是,我们的测试占用了大量内存,导致我们的karma服务器断开连接,因为后面的测试太耗时了。前2000个测试用例可以在3分钟内执行完毕,但最后500个测试用例需要长达10分钟。我们尝试了一些在线上找到的解决方案,但没有什么效果。我们尝试了以下解决方案: 我们使用chrome内存快照工具分析了内存使用情况。第一个快照是在执行了300个测试用例后拍摄的,第二个快照是在执行了600个测试用例后拍摄的。

First Snapshot (300 Tests) Second Snapshot (600 Tests)

有人能帮忙解决这个问题吗?很遗憾我们不允许展示一些代码。但是我们的测试与你可以在网上找到的angular jasmine示例没有区别。


没有看到你的 karma 配置和一些长时间运行的测试,很难说。但是我可以告诉你,当我遇到类似问题时,是因为我的 karma 配置中加载了不必要的文件,并且在某些情况下加载了多次。这导致我的 karma 在进行几千个测试后崩溃。 - Prinay Panday
同时,将代码分离成不同的模块确实非常有帮助。如果某段代码不需要一个模块,那么请尽力确保该模块在测试时不被加载。 - Prinay Panday
1个回答

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接