使用gulp将业力测试分成可运行的块的最佳方法是什么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用gulp将业力测试分成可运行的块的最佳方法是什么?相关的知识,希望对你有一定的参考价值。

我们有一个AngularJS项目,具有大约20K的LOC和80%的测试覆盖率,因此我们比Karma在一个组中运行的测试要多得多。我们已经研究过修复内存泄漏问题,但是在AngularJS注入器,ui-router和每个描述及其规范的闭包之间,感觉这个问题太大而无法修复。

因此,我们已经将我们的测试分组。这种方法很有效,直到一个组开始超过大约1,200个测试,然后它才开始减速,直到我们添加足够的东西以最终使浏览器崩溃。

我最近摆脱了拆分测试的手动管理,只需对每个源目录进行gulp迭代,并为每个目录创建一个gulp.task任务。

它有效,但有点像我正在努力反对gulp想要工作,而不是让它为我做的工作。

是否有插件或更好的方法来解决这个问题?

答案

您可以使用karma-parallel在多个浏览器实例之间拆分测试。它在不同的浏览器实例中运行规范,并且非常简单且易于安装:

npm i karma-parallel

然后将“parallel”添加到karma.conf.js中的框架列表中

module.exports = function(config) {
  config.set({
    frameworks: ['parallel', 'jasmine']
  });
};

karma-parallel

披露:我是作者

以上是关于使用gulp将业力测试分成可运行的块的最佳方法是什么?的主要内容,如果未能解决你的问题,请参考以下文章

对铬的业力测试

块-将一个大的XML文件分成可管理的块

Angular 2 业力设置问题——业力启动但不运行测试

块-将一个大的XML文件分成可管理的块

jhipster:使用外部模板在组件上运行业力测试

将gulp-file分成几个文件