【问题标题】:Why do we need gulp over karma?为什么我们需要 gulp over karma?
【发布时间】:2015-12-02 02:42:32
【问题描述】:
我是 gulp 和 karma 工具的新手。我搜索了谷歌并处理了小型测试用例并成功执行。
在 karma 中,我们正在使用命令“start karma karma.conf.js”配置要测试和运行的单元测试用例 js 文件
在 gulp 中,我们正在配置 karma 配置文件并使用命令 'gulp test' 执行
直接在 karma 上运行 gulp 测试有什么好处?
【问题讨论】:
标签:
angularjs
gulp
karma-runner
【解决方案1】:
使用 gulp 的一个优点是您可以根据该任务编排更复杂的任务。例如,您可能需要一个 gulp 任务,该任务首先构建项目,然后执行单元测试。然后你可以用一个命令而不是两个命令来执行它。
但是,如果您只运行运行 karma 的 gulp 任务,那么使用 gulp 将没有任何优势(除了命令更易于键入)。
您可以查看Gulp Recipes 页面,了解您可以使用 gulp 完成的其他任务。
【解决方案2】:
我真正能想到的唯一一件事就是让 gulp 使用 wiredep 之类的东西来获取运行测试所需的所有适当的 3rd 方 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 数组。