我有一些简单的karma /茉莉花单元测试运行一个angularjs应用程序。我使用最新版本的Chrome,并从WebStorm IDE中运行我的测试。
有时测试套件运行非常快(0.24秒)
有时完全相同的测试套件完全相同的代码运行非常缓慢(120秒)
我试过了每一个常识。我已经搜索网络尝试和发现我做错了。
为什么我的测试运行这么慢?
答案变得很简单。
我使用Chrome运行karma服务器。当您首次启动karma服务器时,Chrome的实例将作为最大化窗口启动。所以自然你最小化这,所以你可以看到你的测试运行。
问题是,Chrome使任何最小化或辅助选项卡(切换选项卡)的cpu周期饥饿。
因此,如果您最小化运行karma服务器的浏览器实例,或者只是切换到不同的选项卡,那么karma服务器严重缺乏cpu,测试需要很长时间才能完成。
解决方案是使karma选项卡保持活动状态。浏览器窗口可以隐藏在其他窗口后面,但是karma选项卡必须是选定的选项卡,并且浏览器不能最小化。
遵循这些简单的规则将确保您的测试始终以全速运行。