我有一些针对angularjs应用运行的简单的业力/茉莉单元测试。我使用最新版本的Chrome,并在WebStorm IDE中运行测试。
有时测试套件运行非常快(0.24秒)
有时,针对完全相同的代码的完全相同的测试套件运行非常缓慢(120秒)
我尝试了所有常识性修复。我在网上搜寻了一下,以发现我在做什么错。
为什么我的测试运行如此缓慢?
答案很简单。
我正在使用Chrome运行业力服务器。首次启动业力服务器时,Chrome实例将作为最大化窗口启动。因此,自然可以将其最小化,从而可以看到测试正在运行。
问题是Chrome缺少CPU周期的任何最小化或次级选项卡(切换选项卡)。
因此,如果最小化运行业力服务器的浏览器实例,或者只是切换到其他选项卡,则业力服务器严重缺乏CPU,并且测试需要很长时间才能完成。
解决方案是使“业力”选项卡保持活动状态。浏览器窗口可以隐藏在其他窗口后面,但“业力”选项卡 必须是所选选项卡, 并且 不能最小化 浏览器。
遵循这些简单的规则将确保您的测试始终以全速运行。