以任何方式,以两步方式运行Karma / Jasmine测试是否可行:
通过这种方式,我们可以对所有应用程序代码进行一次预处理,并根据需要多次运行第二步(当然,假设我们在运行第1步后不会更改应用程序代码)。
编辑: 更多细节:
有一个karma.conf.js
设置预处理器来处理整个代码库
Grunt用于运行业力测试 - 有单独的任务仅针对给定模块运行测试(给定Grunt任务调整Karma配置的files
部分以仅加载模块的测试规范测试)
在CI上我们分别测试每个模块 - 一次运行所有测试会崩溃浏览器(由于过多的内存使用 - 我们在解决这个问题上没有取得什么成功)。因此,Karma运行n
次(n
是模块数量)每次预处理整个代码库,并仅针对当前正在测试的模块运行测试。
由于实际代码(app或specs)在逐个测试模块时没有改变,我们的想法是告诉Karma首先只预处理整个代码库。之后,我们可以使用先前预处理的代码在每个模块上运行Karma。这应该比我们现在拥有的要快得多。
顺便说一句,这是一个Angular应用程序。测试基于Jasmine并使用ngDescribe。