为什么我们需要 gulp 而不是因果报应?

Why do we need gulp over karma?

我是 gulp 的新手,karma tool.I 搜索了 google 并处理了小型测试用例并成功执行。

在 karma 中,我们正在配置要测试的单元测试用例 js 文件,并且 运行 使用命令 'start karma karma.conf.js'

在 gulp 中,我们正在配置 karma 配置文件并使用命令 'gulp test'

执行

我们在 运行 直接对因果关系进行 gulp 测试时获得了哪些好处?

使用 gulp 的一个优点是您可以根据该任务编排更复杂的任务。例如,您可能需要一个 gulp 任务,该任务首先构建项目然后执行单元测试。然后,您可以使用一个命令而不是两个命令来执行它。

但是,如果您只是 运行 运行 karma 的 gulp 任务,那么使用 gulp 不会有任何优势(除了命令更容易输入之外) ).

您可以查看 Gulp Recipes 页面,了解您可以使用 gulp 完成的其他任务。

我真正能想到的唯一一件事就是让 gulp 使用 wiredep 之类的东西获取 运行 测试所需的所有适当的第 3 方 JS 文件。例如

var gulp = require('gulp'),
    Server = require('karma').Server,
    bowerDeps = require('wiredep')({
        dependencies: true,
        devDependencies: true
    }),
    testFiles = bowerDeps.js.concat([
        'src/**/*.js',
        'test/**/*.js'
    ]);

gulp.task('test', function(done) {
    new Server({
        configFile: 'karma.conf.js',
        files: testFiles,
        singleRun: true
    }, function(exitStatus) {
        if (exitStatus) {
            console.warn('Karma exited with status', exitStatus);
        }
        done();
    }).start();
});

否则,您必须在 karma.conf.js 文件中手动维护 files 数组。