一尘不染

为什么我的AngularJS,Karma / Jasmine测试运行如此缓慢?

angularjs

我有一些针对angularjs应用运行的简单的业力/茉莉单元测试。我使用最新版本的Chrome,并在WebStorm IDE中运行测试。

有时测试套件运行非常快(0.24秒)

有时,针对完全相同的代码的完全相同的测试套件运行非常缓慢(120秒)

我尝试了所有常识性修复。我在网上搜寻了一下,以发现我在做什么错。

为什么我的测试运行如此缓慢?


阅读 258

收藏
2020-07-04

共1个答案

一尘不染

答案很简单。

我正在使用Chrome运行业力服务器。首次启动业力服务器时,Chrome实例将作为最大化窗口启动。因此,自然可以将其最小化,从而可以看到测试正在运行。

问题是Chrome缺少CPU周期的任何最小化或次级选项卡(切换选项卡)。

因此,如果最小化运行业力服务器的浏览器实例,或者只是切换到其他选项卡,则业力服务器严重缺乏CPU,并且测试需要很长时间才能完成。

解决方案是使“业力”选项卡保持活动状态。浏览器窗口可以隐藏在其他窗口后面,但“业力”选项卡 必须是所选选项卡, 并且 不能最小化 浏览器。

遵循这些简单的规则将确保您的测试始终以全速运行。

2020-07-04